context
想使用这个context属性
有几点条件:
1.在父组件定义
A. getChildContext(){
return {
msg:"这是context ",
word:“努力就会有失败…”
}
}
B. ContextDemo.contextTypes = {
word:PropTypes.string,
msg:PropTypes.string
}
export default class ContextDemo extends Component{
getChildContext(){
return {
msg:"这是context ",
word:"努力就会有失败..."
}
}
render(){
console.log("context props",this.props)
let {
msg,
value
} = this.props;
return (
<div>
<h2> context 父组件msg{msg}</h2>
<h2>props == {value}</h2>
<A msgA={value} ></A>
</div>
)
}
}
2.在子组件[子组件下面的子组件也算]获取context
class C extends Component{
render(){
return (
<div>
<h2>component === C</h2>
<h2>word == {this.context.word}</h2>
<hr/>
<D msgD={this.props.msgC}></D>
</div>
)
}
}
C.contextTypes = {
word:PropTypes.string
}