【发布时间】:2019-03-18 04:50:46
【问题描述】:
我正在尝试将值传递给我的子组件。我得到的值来自我在父组件中调用并在 componentDidMount 中调用的 API,但问题是子组件没有读取我在他自己的 componentDidMount 中传递的道具,它甚至变得空白在 reactdevtool 它传递正确的值。我以前解决过这个问题,但不记得我做了什么,你能帮忙吗?谢谢
孩子:
componentDidMount() {
const {
events
} = this.props;
console.log(events)
}
家长:
class App extends Component {
componentDidMount() {
let self = this;
GetAllMainItems().then(function(GetAllMainItemsResults) {
let MainObject = self.state.MainObject;
self.setState({
GetAllMainItemsResults
});
}
}
render() {
constructor() {
super();
this.state = {
MainObject: []
};
}
return ( <
div className = "App row" >
<
Calendar events = {
this.state.MainObject
}
/>
<
/div>
);
}
【问题讨论】:
-
这个问题可能是因为在GetAllMainItems 完成之前调用了render。解决办法:检查子组件中的值,如果没有设置,显示'loading'之类的。
标签: reactjs