如何更改数据中的反应,我复制到道具状态

时间:2016-11-24 08:49:17

标签: reactjs

如何更改数据

我已经读过一本书,作者说不要复制到道具状态,所以如果我想要改变数据,这是正确的方法。

https://i.stack.imgur.com/EPUFq.png

1 个答案:

答案 0 :(得分:2)

当你浏览文档时,它会说明setting props to the initial state is an anti pattern。因此,您可以在componentDidMount()生命周期函数

中执行此操作,而不是最初将prop设置为state
constructor(props) {
   super(props);
   this.state = {
      birthdate: null,
      name: null,
      contact: null,
      gender: null,
      photoUrl: 'https://facebook.github.io/react/img/logo_og.png'
   }
}
componentDidMount() {
    const {birthdate, name, contact, gender, photoUrl} = this.props;
    this.setState({
        birthdate: birthdate,
        name: name,
        gender: gender,
        contact: contact,
        photoUrl: photoUrl
    })
}