美文网首页
React 状态提升

React 状态提升

作者: 三元一只十元三只 | 来源:发表于2020-03-27 07:15 被阅读0次

    自组件通过props来接收父组件传递的信息,但是子组件不能更改props,子组件可以定义state,state可以通过setState修改。当子组件需要更改父组件传递的数据时,就用到了“状态提升”,我理解的“状态提升”就是父组件通过传入一个方法,子组件触发该方法。具体的代码格式类似于,在父组件中声明一个方法,比如 handleStateChange () {....},然后传入给子组件 <Child onStatechange={this.handleSrateChange} />。然后子组件的 this.props.onStatechange就是该方法。我们可以通过子组件中某个事件去出发父组件传递的方法。子组件的方法可以是:

    handleChildClick(e) {  this.props.onStateChange(e.target.value)}

    我在实际开发过程中就遇到过,比如我在组件A中定义了一个按钮,该按钮点击后会修改B组件中的值。因为A、B组件是相互独立的,所以就用到了状态的提升。归纳起来就是原来父组件传值给子组件,现在改为传方法给子组件去触发,这就是我理解的状态提升。

    相关文章

      网友评论

          本文标题:React 状态提升

          本文链接:https://www.haomeiwen.com/subject/gfykuhtx.html