我有一个奇怪的问题,使数据集未定义。我正在实施反应表(一个带钩子)。如果我使用 react-table 示例中的一个,他们会使用 makedata.js & 他们的代码如下
const [data, setData] = useState(useMemo(() => makeData(20), []) );
但是我的代码只是用 API 调用后来自 redux 的数据替换了 makeData。
//For setting data
useEffect(() => {
if (!currentUser || !savedProjectId) {
alert("Please Select A Project");
return;
}
listenToProjectData(currentUser.clientId, savedProjectId);
}, [currentUser, savedProjectId, listenToGuests]);
// For setting state
const [data, setData] = useState(
useMemo(() => projectData, [projectData, loading])
);
因此,当我们对代码进行更改时,react 渲染和数据会很好,即data
不是未定义的。当我们转到其他页面并导航回它时也是如此。我们刷新页面的那一刻,data
是未定义的。
PS projectData 不是未定义的,只是在开始时,它是暂时的,但随后数据更新但它没有反映在我们的状态中&刷新虽然我们使用的是 useMemo ,但它data
使未定义。data