如何更新状态然后在功能组件中呈现本机反应

时间:2020-07-26 03:49:24

标签: javascript reactjs state use-effect

我试图先更新状态,然后在功能组件中呈现该组件。我有使用useEffect挂钩的答案。但是,react官方站点上的文档有点令人困惑,因为它指出:“传递给useEffect的函数将在将渲染提交到屏幕后运行。” (https://reactjs.org/docs/hooks-effect.html)据我了解,它表示先渲染然后运行回调函数。那不是我想要的。我想先更新状态然后再渲染。我该如何实现?

1 个答案:

答案 0 :(得分:1)

考虑以下内容:

  • 渲染组件
  • 注册useEffect的回调函数
  • 如果上述回调中包含更新状态部分,则进行注册
  • 运行上述更新状态功能
  • 以上更新状态触发重新渲染,因此组件现在再次重新渲染

上面的动作序列显示很快,您将看到最终的渲染输出。仅在一种情况下,您需要在useEffect的回调中调用任何异步操作,并根据上述异步操作(在屏幕上观察到呈现的UI的几种状态)来更新状态。