警告信息:
./src/components/BusinessList.js Line 51: React Hook useEffect has a missing dependency: 'getPowerList'. Either include it or remove the dependency array react-hooks/exhaustive-deps
警告原因:
通过使用 useEffect 将依赖项滞空的方法,让 useEffect 中的内容只在页面初始化是运行一次,模拟 componentDidMount() 生命周期函数
const getPowerList = () => {
get_power("tree", {
Authorization: e_token,
}).then(({ data }) => {
setPermis(data);
});
};
useEffect(() => {
getPowerList();
}, []);
通过查阅翻看 React Hook 官方文档,我们可以发现官方是支持这种写法的
如果想执行只运行一次的 effect(仅在组件挂载和卸载时执行),可以传递一个空数组(
[]
)作为第二个参数。这就告诉 React 你的 effect 不依赖于 props 或 state 中的任何值,所以它永远都不需要重复执行。这并不属于特殊情况 —— 它依然遵循依赖数组的工作方式。如果你传入了一个空数组(
[]