在React构造函数中访问props

时间:2018-08-27 02:24:27

标签: javascript reactjs class react-props

当我尝试在子类中访问父级的props值时遇到问题。

我正在尝试用父母的道具来初始化孩子的道具。

但是下面的代码向我显示了 value 的空字符串。

export default class Child extends React.Component {
constructor(props) {
    super(props);
    this.state = { value: props.value };
}
...

在其他班级,我称这个孩子为:

const issue = this.state.issue;
...
<Child value={issue.number} />
...

在构造Child类之前,我检查了数字值(它向我显示了正确的值),虽然该值被构造,但该值变为空。

为了进行测试,我使用了原始数字值,并且可以正常工作。

似乎是某种发行链接。Child被构造时,number断开了。

有任何线索吗?

2 个答案:

答案 0 :(得分:2)

这很容易发生。例如,issue.number成为AJAX重新渲染后的数字。在这种情况下,您必须执行以下操作(在您的父组件中):

render() {
  const issue = this.state.issue


  if (issue.number) {
    return <Child value={issue.number} />
  }
}

答案 1 :(得分:0)

啊,我想通了。

它与生命周期有关。

渲染Child时未加载数字值。

所以,我需要弄清楚如何根据自己的意愿更新Child中的号码。