【问题标题】:setState error for onclick in react反应中 onclick 的 setState 错误
【发布时间】:2018-09-25 00:12:27
【问题描述】:

我收到此错误 警告:setState(...):在现有状态转换期间无法更新(例如在渲染或其他组件的构造函数中)。渲染方法应该是 props 和 state 的纯函数;构造函数副作用是一种反模式,但可以移动到 componentWillMount 对于

<a key={brand} onClick={this.someFn(Brands[brand])}>

【问题讨论】:

    标签: javascript reactjs


    【解决方案1】:

    我强烈建议不要在 render() 方法中改变状态。事实上,React 的维护者强烈建议将 render() 方法保留为纯函数。

    如果你想改变不同组件之间的状态,例如如果你有一个侧边栏,最健壮的解决方案是使用Redux 或等效的应用程序状态库。

    【讨论】:

    • 我不能使用 redux 或其他状态库。我想我会使用函数将图标从子组件传递给父组件而不进行任何状态修改
    【解决方案2】:
     <a key={brand} onClick={() => this.someFn(Brands[brand])}>
    

    用箭头函数调用它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-11
      • 2023-04-07
      • 2018-04-19
      • 2023-03-16
      • 1970-01-01
      • 2021-05-31
      • 1970-01-01
      相关资源
      最近更新 更多