在 React 构造函数中访问 props

Accessing props in React constructor

我在 child class 中尝试访问 parent 的道具值时遇到问题。

我正在尝试用 parent 的道具初始化 child 道具。

但是下面的代码显示了 value.

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

在其他class中我称这个Child如下:

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

我在构建 Child class 之前检查了数字值(它向我显示了正确的值),而在构建时,该值变为空..

为了测试,我使用了原始数值,并且有效。

似乎 link 到 issue.number 在构造 Child 时断开连接。

有线索吗?

啊,我刚弄明白

与生命周期有关

我渲染 Child 时没有加载数字值。

所以,我需要弄清楚如何根据我的意图更新 Child 中的数字。

这很容易发生。例如,issue.number 在 AJAX 重新渲染后变成了数字。在这种情况下,您必须遵循(在您的父组件中):

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


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