【问题标题】:React renders before updating component在更新组件之前进行 React 渲染
【发布时间】:2019-11-18 10:04:03
【问题描述】:

我希望我的 react 组件在渲染之前更新状态。现在我有一组从 API 得到的问题。因此,根据 url,问题会发生变化。当我离开组件并返回(以新状态)时,它首先显示旧状态一两秒钟,然后再显示新状态。

【问题讨论】:

  • 在组件的构造函数中执行你的代码来更新状态。
  • 你能给个minimal reproducible example吗?
  • @Himanshu Pant 我不明白你的意思
  • @jonrsharpe 代码比较大
  • 我也了解 Redux。但是 Redux 是否与问题相关?这就是创建示例的目的,以隔离问题实际出在哪里。你甚至可以自己修复它。

标签: reactjs state render


【解决方案1】:

你应该使用componentWillUnmount生命周期方法来清理你的状态数据

https://reactjs.org/docs/react-component.html#componentwillunmount

【讨论】:

  • 谢谢@Adam
  • 我认为您应该在这里创建一个初始状态并在组件安装时提供该状态。卸载时,您应该将状态更新为初始状态。
  • @NSJCorps 虽然我不能不同意 Adams 的回答。但是我会说你永远不需要包含问题的状态。而是来自event.target的问题答案的名称(唯一的问题ID)和值,祝你好运??
猜你喜欢
  • 1970-01-01
  • 2016-06-19
  • 2021-09-21
  • 2020-09-13
  • 2020-12-21
  • 1970-01-01
  • 2021-01-18
  • 2016-06-13
  • 2020-11-14
相关资源
最近更新 更多