javascript - 双重渲染useEffect Reactjs

标签 javascript reactjs fetch

我尝试使用 react 上下文提供程序获取异步获取数据 我不明白为什么有两个使用上下文的子组件渲染,第一个初始上下文状态,第二个包含获取的数据。 有什么适当的方法可以避免吗?

codesandbox example

最佳答案

这实际上是正常行为。由于您的获取请求是异步的,因此需要一些时间才能解决。

首先,您的组件使用默认数据进行渲染(根据 DogProvider.js,第 5 行为空数组),然后一旦您的获取解析,您就会更新提供程序的状态,导致它(及其子级)重新渲染。

关于javascript - 双重渲染useEffect Reactjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60323543/

相关文章:

javascript - location.replace 和 location.href 有什么区别?

node.js - 从 github 拉取后,npm 开发服务器将无法启动

javascript - 如何获得一致的 ScrollIntoView 行为

php - 在 php 中获取 2 个表不起作用

android - react native 博览会 : Network error on android

javascript - 根据特定值拆分字符串,但保留分隔符,但这样做时不要将它们附加到任何东西上

javascript - 使用 JavaScript 提交 HTML 表单

javascript - laravel 4 中没有 ajax 响应

reactjs - Ag-Grid - 如何在同一个网格中制作两个水平滚动条?

javascript - 在这种情况下如何使用 Async/Await?