在React中将状态传递给孩子

时间:2017-10-07 04:45:41

标签: reactjs

我有一个部分组件:

state = {
  text: '',
}

render() {
  return (
    <div>
        <SpecialTextBox text={this.state.text}></SpecialTextBox>
    </div>
}

我可以在子组件(SpecialTextBox)中访问this.state.text,我可以在其中访问它,但是更改它似乎不会更新父级中的值。

我在按键上为setState做了setState,为子节点而不是父节点更新this.state。

我误解了什么?

1 个答案:

答案 0 :(得分:0)

是的,根据React docs,

  

State类似于props,但它是私有的,完全由组件控制。

因此,您的子组件状态已更新,但不是父级的状态。如果你想更新父母的状态,你可以

  1. 将状态提升到Parent组件并将prop函数传递给子组件,这将更新父组件中的状态以及子组件的状态,因为它将作为props接收父状态。
  2.   

    请参阅此处Lifting State Up