【问题标题】:Update state from separate component in React从 React 中的单独组件更新状态
【发布时间】:2021-05-06 09:25:11
【问题描述】:

我有三个组件(父组件、子组件、单独组件)。

在那个父组件中,我创建了一个状态值。

this.state = { 
  number: 1
}

<Child num={this.state.number} />

子组件中,我从react-router-dom创建了一个Link to

<Link to="goTo3rdComp" />

我想从子组件中使用 Link 的单独(第三)组件更新父状态值(不使用 redux 或其他状态管理方法。)

如何通过 Link Tag 传递状态并更新授权父组件。

简而言之: &lt;Parent /&gt;&lt;Child /&gt;&lt;3rdComponent /&gt; are 3 components。我不想从子组件更新父状态。我想从 3rdComponent 更新,它由子组件的 Link Tag/router-react-dom 导航。(即&lt;Link to="editpage" /&gt;

【问题讨论】:

    标签: reactjs react-router


    【解决方案1】:

    您必须将函数传递给子组件,这将更新您的父组件:

    this.state = { 
      number: 1
    }
    
    <Child num={this.state.number} onChange={(newValue)=> this.setState({number: newValue})} />
    

    然后在 child 中执行下一个例如:

    class Child extends Component{
      const { onChanage } = this.props;
    
    
      // run when you want...
      onChange(10);
    
    }
    

    【讨论】:

    • 是 3 个组件。我不想从子组件更新状态。我想从 3rdComponent 更新,它由子组件的链接标签/路由器反应域导航。(即
    猜你喜欢
    • 1970-01-01
    • 2023-01-03
    • 2017-05-03
    • 2016-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-02
    • 2020-12-21
    相关资源
    最近更新 更多