Reactjs 正在将useState设置为它';是否需要useEffect返回钩子中的默认值?

Reactjs 正在将useState设置为它';是否需要useEffect返回钩子中的默认值?,reactjs,react-hooks,Reactjs,React Hooks,假设我有以下代码,它有一个useState钩子,默认值为空数组: import React,{useState,useffect}来自“React”; 导出默认值()=>{ const[fooData,setFooData]=useState([]); useffect(()=>{ //这里发生了一些从和API获取的数据…例如:setFooData(数据); //这就是我所说的 return()=>setFooData([]); }, []); } 因此,基本上,它会获取数据,将其设置为状态,

假设我有以下代码,它有一个useState钩子,默认值为空数组:

import React,{useState,useffect}来自“React”;
导出默认值()=>{
const[fooData,setFooData]=useState([]);
useffect(()=>{
//这里发生了一些从和API获取的数据…例如:setFooData(数据);
//这就是我所说的
return()=>setFooData([]);
}, []);
}

因此,基本上,它会获取数据,将其设置为状态,并在卸载时再次清除它,但这是否是必要的?我甚至需要在卸载时清除数据吗?

您完全不需要在卸载组件时将状态设置为初始状态

提供清理功能以删除侦听器或订阅

您的状态引用在卸载时被清除并被垃圾收集。当组件再次装载时,状态将再次初始化。

不需要


只需获取数据并将其放入您的状态。在这种情况下,无需担心清理状态

react-useEffect挂钩具有清理回调功能,可用于清理您的状态

useEffect(() => {

// Specify how to clean up after this effect:
return function cleanup() {
 // clean up code 
}; });

啊,所以我基本上是自己做清理的?将状态设置为initialValue不会有什么区别,它只是一个额外的步骤