【发布时间】:2021-12-04 15:31:19
【问题描述】:
我正在使用 typescript react 中的偏移分页。
我有两个包含pageNumber 和offset 的状态。默认页面设置为1,默认偏移设置为0,如下所示。
useState钩子
const [currentPage, setCurrentPage] = useState(1);
const [calculatedOffset, setCalculatedOffset] = useState(0);
加载时,组件从localStorage 获取pageNumber 和calculatedOffset 并更新useState 值的默认值。
useEffect钩子
useEffect(() => {
if (typeof window !== "undefined") {
const integerPage = parseInt(localStorage.getItem("currentPage") || "1");
setCurrentPage(integerPage);
const integerOffset = parseInt(localStorage.getItem("calculatedOffset") || "0");
setCalculatedOffset(integerOffset);
}
}, []);
问题:
我面临的问题是,每当组件加载时,它都会加载默认状态的值,即 pageNumber: 1, calculatedOffset: 0 半秒钟,然后将其更改为更新状态,即 @987654333 时更新的状态@钩跑了。因此,在每次加载时,组件都会在从 localStorage 获取的更新状态结束之前刷新默认状态的数据。
有没有一种方法可以使组件仅在状态最终达到其最终值时才加载,并防止每次加载组件时旧状态闪烁半秒?
【问题讨论】:
标签: javascript reactjs typescript react-hooks pagination