为了账号安全,请及时绑定邮箱和手机立即绑定

react subcomponent 如何修改 props?

react subcomponent 如何修改 props?

慕码人2483693 2019-02-26 20:17:28
当一个子组件需要改修父组件传来的props时候(想了一下的确有这种场景),可以在初始化的时候赋值给自己的 stateconstructor (props) {    this.state = {         foo: props.foo     } }然后在组件内部操作 state, 但是如果遇到父组件更新 props, 那么子组件的 constructor 是不会再调用的,那么就要这么写componentWillReceiveProps (nextProps) {    this.setState({ foo: nextProps.foo }) }这样写是不是有点麻烦,还是我没有理解其中的真谛。
查看完整描述

2 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

  1. props 是只读的

  2. 你可以在 render 里进行转换

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


查看完整回答
反对 回复 2019-02-26
?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

子组件通过父组件传下来的方法修改父组件自身的 state 。

查看完整回答
反对 回复 2019-02-26
  • 2 回答
  • 0 关注
  • 545 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信