在 useEffect 的依赖项数组中添加空字符串 "",其效果与添加其他固定值(如 123、null 等)类似,具体表现为:
useEffect 的副作用函数会执行(与其他依赖项的初始执行逻辑一致)。"" 是一个常量(不会发生变化),依赖项数组不会触发更新,因此副作用函数不会重新执行。useEffect(() => {
console.log("副作用执行");
return () => {
console.log("清理函数执行");
};
}, [""]); // 依赖项为固定空字符串副作用执行。useState 变量)更新而重新渲染时,由于 "" 没有变化,副作用函数不会再次执行,清理函数也不会触发。清理函数执行)。[] 的对比空字符串依赖 [""] 和空依赖数组 [] 的行为完全一致,因为两者都是“不会变化的依赖项”。
// 以下两种写法效果相同
useEffect(() => { /* ... */ }, []);
useEffect(() => { /* ... */ }, [""]);两者都会:
虽然 [""] 和 [] 效果相同,但推荐使用空数组 [],原因是:
[] 是 React 官方文档中明确推荐的“只执行一次”的写法,语义更清晰。只有当依赖项可能发生变化时,才需要将其加入依赖数组。对于固定值(包括空字符串),添加到依赖数组中不会改变副作用的执行逻辑。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。