首页 > 解决方案 > useIonViewWillEnter 在重新进入页面时具有状态变量的默认值

问题描述

我不确定这是否是 Ionic React 4.8.0-rc.05.2.2之间的预期行为

设想

发现

我发现当我回到Tab1 for Ionic React 5.2.2items1时,总是会变成这样。但是,版本4.8.0-rc.0没有这种奇怪的行为,这意味着导航离开并返回Tab1后的值是相同的[]items1useIonViewWillEnter

  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]再次返回。

所以我的问题是:这是一个错误吗?如果没有,现在的行为是否不同以及如何解决这个问题?

标签: typescriptionic-frameworkionic4ionic5ionic-react

解决方案


这解决了它

useIonViewWillEnter(async () => {
    console.log(items1);
    if (items1.length < 4) {
      setItems1([1, 2, 3]);
    }
  },[items1]);

推荐阅读