react subcomponent 如何修改 props?

当一个子组件需要改修父组件传来的props时候(想了一下的确有这种场景),
可以在初始化的时候赋值给自己的 state

constructor (props) {    this.state = {
        foo: props.foo
    }
}

然后在组件内部操作 state, 但是如果遇到父组件更新 props, 那么子组件的 constructor 是不会再调用的,那么就要这么写

componentWillReceiveProps (nextProps) {    this.setState({ foo: nextProps.foo })
}

这样写是不是有点麻烦,还是我没有理解其中的真谛。


慕码人2483693
浏览 558回答 2
2回答

喵喔喔

props 是只读的你可以在 render 里进行转换你这样用是不对的,按照你这样,经过 props 转换的 state 既可以由子组件改变,也会被父组件的 props 改变,不符合 react 的设计原则。

蝴蝶不菲

子组件通过父组件传下来的方法修改父组件自身的 state 。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

React.JS