我尝试过阅读书籍和观看有关JS和React的视频,但我仍然没有更好地了解React-Props&状态。 有人可以详细解释一下。
答案 0 :(得分:4)
<强>道具强> 组件道具可以被视为组件的选项。它们作为组件的参数给出,看起来与HTML属性完全相同。
值得注意的是,组件永远不应该改变它的道具,它们是不可变的。如果组件具有可变的数据,请使用状态对象。
var Photo = React.createClass({
render: function() {
return (
<div className='photo'>
<img src={this.props.src} />
<span>{this.props.caption}</span>
</div>
);
}
});
React.render(<Photo src='http://example.com/lkevsb9' caption='Hong Kong!' />, document.body);
<强>国家强> 状态对象是组件的内部对象。它包含可随时间变化的数据。
在我们使用state之前,我们需要为初始状态声明一组默认值。这是通过定义一个名为getInitialState()并返回一个对象的方法来完成的。
使用setState方法设置状态。调用setState会触发UI更新。 设置状态只能从组件内部完成。
var InterfaceComponent = React.createClass({
getInitialState : function() {
return {
name : "chris"
};
},
handleClick : function() {
this.setState({
name : "bob"
});
},
render : function() {
return <div onClick={this.handleClick}>
hello {this.state.name}
</div>;
}
});
React.renderComponent(
<InterfaceComponent />,
document.body
);