想进一步了解Props& amp;州

时间:2017-04-26 11:24:17

标签: javascript reactjs react-redux

我尝试过阅读书籍和观看有关JS和React的视频,但我仍然没有更好地了解React-Props&状态。 有人可以详细解释一下。

1 个答案:

答案 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
);