reactjs - 为什么我们在 axios 获取数据时使用 useeffect() react hook?
问题描述
既然不用useEffect()
hook就可以直接从axios中取数据,那为什么首选先用useEffect()
再用axios呢?
另外,在什么情况下useEffect()
不需要?
这是一个例子:
useEffect(() => {
axios
.get('http://localhost:3001/notes')
.then(response => {
setNotes(response.data)
})
}, [])
解决方案
通过使用useEffect
,你告诉 React 你的组件在渲染后需要做一些事情。React 会记住你传递的函数,并在执行 DOM 更新后调用它。您在使用功能组件时使用 React Hooks,而使用基于类的组件时,您可以axios
在componentDidMount()
方法中使用从 API 获取数据。
推荐阅读
- r - 如何从 R 中的哈希表中通过其值检索键的名称
- angular - 角度如果在switchmap内部检查是否不为空
- linux - 验证文件字符的字符串,包括空格
- python - 如何在列表中查找相似数字的位置
- javascript - 谷歌 VR 服务 Aframe
- laravel-5 - 如何从 laravel 中相关模型的单个字段中获取数组?
- nativescript-vue - 使用 Nativescript Vue 拖放
- r - apache重定向时,无法从Web访问在localhost上运行的闪亮服务器
- c# - 将嵌套的反序列化 JSON 从控制器传递到视图
- typescript - 当用作对象属性时,Spy 返回 callcount 0