父组件通过props向子组件传值。在子组件中,对值进行编辑,并且实时地更新dom。
因为在子组件中,props是只读的,所以需要将props中的值赋值给子组件的state,通过对子组件的state的编辑,来更新dom。
但是,在props赋值给state时,遇到了报错:Maximum call stack size exeeded.
这个报错原因大概是,使用生命周期钩子, setState(),出现了死循环。
嗯……我该怎么做呢……?
//因为componentWillMount传值,只会在子组件实例化过程中调用一次,在子组件存在时,并不会调用。 //为了在子组件已存在、父组件切换currentPro时,子组件也能将pros赋值给state,使用了componentWillUpdate componentWillUpdate = () => { const currentPro = this.props.currentPro; this.setState({ currentPro: currentPro }) }
登录后可查看更多问答,登录/注册
轻松入门 React 开发,React Router 4 与 Webpack 2 完美升级项目
了解课程