我是Reactjs的新手,我来自棱角分明的背景,我是否可以认为Props就像在angularjs中的brodcast,状态就像观察者,
如果我错了,请纠正..
提前致谢..
答案 0 :(得分:0)
状态就像一个组件的状态,而支柱是一个属性。在示例中,狗具有白色,然后该狗具有白色属性。虽然州是狗的当前状态,但狗是否健康?生病?或者 。反应中棘手的部分是国家也可以作为道具传递。例如:
有2个组件。巧克力和FooBar让它变得如此简单。和巧克力组件称为FooBar
class Chocolates extends React.Component {
render(){
return(
<FooBar />
}
}
如果Chocolates的状态未打开,它也可以传递给FooBar Component,但不能传递给状态,但已经作为道具
constructor(props){
super(props);
this.state({
open:false
})
}
从上面的代码中可以看出,Chocolate中的构造函数表示组件“open”的状态为false,请注意:STATE。在这段代码上:
class Chocolates extends React.Component {
render(){
return(
<FooBar
open_state_from_chocolates ={this.state.open}
/>
}
}
我们将状态“开放”传递给FooBar作为名为“open_state_from_chocolates”的道具
现在您可以在FooBar中使用“open_state_from_chocolates”,如下所示:
class FooBarextends React.Component {
render(){
const { open_state_from_chocolates } = this.props;
return(
console.log(open_state_from_chocolates);
}
}
这是一种单向绑定,现在只要在“巧克力”中修改状态,它就会自动传递给Foobar,因此组件将被重新渲染。