我正在一段时间内致力于开发一个应用程序,由于某种原因,即使我使用虚值调用设置器,我编写的新钩子设置器也不会更新。
这是设置:
const [symbols, setSymbols] = useState([]);
//... more application code between ...
if (symbols_cache != undefined) {
let cache = JSON.parse(symbols_cache);
// setSymbols(cache);
setSymbols([1,2,3]);
console.log("cache is", cache);
console.log("symbols is, after cache set:", symbols);
}
//... more application code between ...
useEffect(() => {
console.log("symbols in symbols hook", symbols);
if (symbols.length == 0) return;
}, [symbols]);
这将输出:
cache is Array(283) [ {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, … ]
symbols is, after cache set: Array []
symbols in symbols hook: Array []
我很沮丧。让我知道这里是否有足够的信息可以回答问题,否则,我可以添加更多。