javascript - useEffect hook 完成后如何渲染组件?

标签 javascript reactjs axios react-hooks components

我正在从 api 获取数据,并且我有一个存储数据的钩子(Hook)。我想在 useEffect Hook 获取数据并且数据已设置为 data Hook 后渲染组件。我该怎么做?

编辑:在渲染组件之前我需要数据。

export const App = () => {
  const [data, setData]

  useEffect(() => {
  axios.get("/data").then((res) => setData(res.data)).catch((err) => console.log(err))
  }, [])

  return (
    <div>
      <Home />
    </div>
  )
}

最佳答案

你可以像下面这样做

export const App = () => {
  const [data, setData] = useState(null);

  useEffect(() => {
  axios.get("/data").then((res) => setData(res.data)).catch((err) => console.log(err))
  }, [])

  return (
    <div>
      <Home setData={setData}/> //here you can pass data to the home component and play with the data
    </div>
  )
}

关于javascript - useEffect hook 完成后如何渲染组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67879598/

相关文章:

node.js - 我在 JS 中从带有 axios 的网站请求 html 内容,但该网站阻止了我的请求

javascript - 如何从 Controller 调用服务方法?

javascript - 写入列表时使用 JavaScript 屏蔽前 6 位数字

reactjs - Next.js getStaticProps localstorage 未定义

javascript - 使用 redux 工具包时出现错误 "A non-serializable value was detected in the state"- 但不是普通的 redux

vue.js - axios 在配置 vue js 中设置 header

javascript - react axios.get 不工作它说编译失败

JavaScript - 合并两个对象数组并根据属性值进行重复数据删除

javascript - 我如何连续播放JavaScript中的声音?

javascript - 在同级组件之间传递状态 React Router v4