【发布时间】:2018-01-13 16:34:48
【问题描述】:
我正在渲染一个自定义模态组件,该组件根据从父组件传入的道具显示。道具isVisible 最初是false,然后通过按钮在父组件中更新。我正在通过渲染函数中的console.log 语句检查组件状态。当组件第一次初始化时,它会按预期记录false false,但是当更新 isVisible 时,它会返回false true。为什么状态没有随着道具更新?
class MyModal extends React.Component {
constructor(props) {
super(props);
this.state = {
createModalVisible:props.isVisible,
};
setCreateModalVisible = (visible) => {
this.setState({createModalVisible:visible});
}
componentWillMount(){
this.setCreateModalVisible(this.props.isVisible);
}
}
render() {
console.log(this.state.createModalVisible,this.props.isVisible);
return (//modal stuff)
}
}
export default MyModal
我知道这可能是非常基本的组件生命周期内容,但我无法从文档中弄清楚,而且对 React 还很陌生。
【问题讨论】:
标签: javascript reactjs