首页 > 解决方案 > 为什么我们在 axios 获取数据时使用 useeffect() react hook?

问题描述

既然不用useEffect()hook就可以直接从axios中取数据,那为什么首选先用useEffect()再用axios呢?

另外,在什么情况下useEffect()不需要?

这是一个例子:

useEffect(() => {
  axios
    .get('http://localhost:3001/notes')
    .then(response => {
      setNotes(response.data)
    })
}, [])

标签: reactjsaxiosfetchreact-hooksuse-effect

解决方案


通过使用useEffect,你告诉 React 你的组件在渲染后需要做一些事情。React 会记住你传递的函数,并在执行 DOM 更新后调用它。您在使用功能组件时使用 React Hooks,而使用基于类的组件时,您可以axioscomponentDidMount()方法中使用从 API 获取数据。


推荐阅读