Это мой родительский код:
class Parent extends Component {
constructor(props) {
super(props);
this.state = {
tags: [],
};
}
componentDidMount() {
this.getTags();
}
getTags() {
//method gets tags from the backend
}
render() {
return <Child tags={this.state.tags} />;
}
}
И это в основном мой дочерний компонент:
export default class Child extends Component {
constructor(props) {
super(props);
this.state = {
tags: props.tags,
};
}
componentWillReceiveProps(nextProps) {
this.setState({
tags: nextProps.tags,
});
}
}
Но когда я консоль тегов журнала где-то в компоненте Child
, это не определено Может быть, он не определен, потому что дочерний компонент визуализируется до того, как родительский компонент вызывает метод getTags
? Или есть другие проблемы с этим кодом? И как я могу избежать этой проблемы, что теги не определены в дочернем компоненте?
Cheers