我正尝试将某些数据(从父级元素传递到子级元素)作为道具,并且我想将此道具设置为初始状态。
class EditContact extends Component {
constructor(props) {
super(props);
this.state = {
name: this.props.name,
phone_number: this.props.phone_number,
address: this.props.address
};
this.handleInputChange = this.handleInputChange.bind(this);
}
...
}
我没有收到任何错误消息,但是如果我console.log
this.state.name
我什么也没收到。或在chrome-s react add-on中检查它时,我可以看到道具值,但状态仍然为""
。
我还尝试过在getDerivedStateFromProps
中用componentDidMount
对其进行排序,可以对此进行设置,但随后它不允许我以后更改状态。 ..为什么?!有什么问题吗?
答案 0 :(得分:0)
在将道具分配给州时,请确保道具的值是预期值。
super(props);
debugger; // This will act as a break point in chrome
最有可能出现的问题是,在将道具分配给国家时,道具的值已为空。
答案 1 :(得分:0)
使用
props.name
代替
this.props.name