当我尝试在子类中访问父级的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断开了。
有任何线索吗?
答案 0 :(得分:2)
这很容易发生。例如,issue.number
成为AJAX重新渲染后的数字。在这种情况下,您必须执行以下操作(在您的父组件中):
render() {
const issue = this.state.issue
if (issue.number) {
return <Child value={issue.number} />
}
}
答案 1 :(得分:0)
啊,我想通了。
它与生命周期有关。
渲染Child时未加载数字值。
所以,我需要弄清楚如何根据自己的意愿更新Child中的号码。