useIonViewWillEnter 在重新进入页面时具有状态变量的默认值
useIonViewWillEnter has default value of state variable upon re-entry of page
我不确定这是否是 Ionic React 4.8.0-rc.0 到 5.2.2[= 之间的预期行为18=]
场景
我有多个选项卡,其中选项卡 1 包含来自 API 调用的项目列表,选项卡 2 包含其他内容。
当我第一次 运行 应用程序时,选项卡 1 将触发 API 调用以填充项目
我想在选项卡之间导航,但选项卡 1 的项目应该保持不变
发现
我发现当我回到 Tab1 时 items1
总是变成 []
for Ionic React 5.2.2 。然而,版本 4.8.0-rc.0 没有这种奇怪的行为,这意味着 items1
值在离开并返回 useIonViewWillEnter
中是相同的=44=]Tab1
useIonViewWillEnter(async () => {
console.log(items1);
if (items1.length < 4) {
setItems1([1, 2, 3]);
}
});
4.8.0-rc.0
https://stackblitz.com/edit/ionic-react-tabs-lj2ekk
5.2.2
https://stackblitz.com/edit/ionic-react-tabs-tvtv3c
您可以通过单击 Add by 1 按钮进行测试,以查看列表的增加。然后离开并返回。在5.2.2中,列表将再次回到[1, 2, 3]
。
所以我的问题是:这是一个错误吗?如果不是,现在的行为是否有所不同以及如何解决这个问题?
这解决了
useIonViewWillEnter(async () => {
console.log(items1);
if (items1.length < 4) {
setItems1([1, 2, 3]);
}
},[items1]);
我不确定这是否是 Ionic React 4.8.0-rc.0 到 5.2.2[= 之间的预期行为18=]
场景
我有多个选项卡,其中选项卡 1 包含来自 API 调用的项目列表,选项卡 2 包含其他内容。
当我第一次 运行 应用程序时,选项卡 1 将触发 API 调用以填充项目
我想在选项卡之间导航,但选项卡 1 的项目应该保持不变
发现
我发现当我回到 Tab1 时 items1
总是变成 []
for Ionic React 5.2.2 。然而,版本 4.8.0-rc.0 没有这种奇怪的行为,这意味着 items1
值在离开并返回 useIonViewWillEnter
中是相同的=44=]Tab1
useIonViewWillEnter(async () => {
console.log(items1);
if (items1.length < 4) {
setItems1([1, 2, 3]);
}
});
4.8.0-rc.0
https://stackblitz.com/edit/ionic-react-tabs-lj2ekk
5.2.2
https://stackblitz.com/edit/ionic-react-tabs-tvtv3c
您可以通过单击 Add by 1 按钮进行测试,以查看列表的增加。然后离开并返回。在5.2.2中,列表将再次回到[1, 2, 3]
。
所以我的问题是:这是一个错误吗?如果不是,现在的行为是否有所不同以及如何解决这个问题?
这解决了
useIonViewWillEnter(async () => {
console.log(items1);
if (items1.length < 4) {
setItems1([1, 2, 3]);
}
},[items1]);