【发布时间】:2020-09-14 22:58:54
【问题描述】:
我知道使用钩子的常规方法是使用useEffect 钩子获取数据。但是为什么我不能只在功能组件中调用 axios 而不是一个钩子,然后设置数据。
基本上,我在问这样做有什么问题:
const [users, setUsers] = useState(null);
axios.get("some api call")
.then(res => setUsers(res.data))
这里,我不使用useEffect,会出什么问题?
【问题讨论】:
-
每次组件渲染时都会调用它(例如props改变,hook状态改变)。试试吧。这会给你一个无限循环,因为每次你用
getUsers更新状态,它都会重新渲染,触发另一个请求,触发另一个渲染,...
标签: javascript reactjs axios react-hooks use-effect