我将从 API 加载的数据放入在函数组件外部声明的变量中。我曾想过将其置于某种状态,因为它需要通过多次渲染来保持。但我没有看到目的,因为我的代码中没有任何内容对数据的更改做出反应。
如果我继续使用这种方法在整个渲染过程中记住被动数据,这会是一种反模式吗?
var cityList;
function Component(){
useEffects(async ()=>{
if (!cityList)}{
cityList = await loadCities();
}
});
...
}
Run Code Online (Sandbox Code Playgroud)
另外我知道我可以使用像useMemo(). 但我想知道这是否有问题。
最重要的是,使用这样的变量而不是 State 或 memo 的可能原因是什么