taro tabbar切换页面 首次刷新 之后不刷新?

发布于 2022-09-11 19:04:35 字数 127 浏览 14 评论 0

微信小程序我使用的是taro,框架使用的taro-ui。使用tabbar切换页面时,除了第一次点开之外,之后再切换页面一直是没有刷新,也就是说没有执行commentDidmount,导致我增加购物车没法实时获取到购物车信息。如何解决。???

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

你的心境我的脸 2022-09-18 19:04:35

你应该用的是 类组件,commentDidmount 是第一次挂载完成 对应的生命周期。
所以第一次访问那个页面时没问题,但是当你切换到其他页面后,微信小程序并没有“销毁”那个页面,而是放入了“后台”,所谓重新切换到到那个页面,其实就是微信小程序把那个页面从 后台 调回到前台,并没有执行你想象中的 刷新。

你可以把 commentDidmount 改为 componentDidUpdate,这样确保每一次数据更新,页面都会更新。

当然更加的做法是推荐你使用 函数组件,对应的可以使用 useEffect() 来处理数据更新。

七度光 2022-09-18 19:04:35

我用网上的很多说法好像都没效果。一种方法是使用轮询,时时刻刻获取数据变动,但是我不太会操作。
因为我的购物车其实是使用的一个组件。所以我在父组件中设置了一个math.random 每次点击切换点击操作都会向购物车组件中传不同的props,这样购物车组件就会每次点击之后都会渲染了。。我感觉这个方法肯定有问题。但是因为我现在是做得一个自己的毕业设计,所以我这种方法可以让我的这个功能实现,就先这么做了。有正确的好方法,希望大家多多指点。

七度光 2022-09-18 19:04:35

我也是...现在你解决这个问题了吗

筱武穆 2022-09-18 19:04:35

可以用 Redux 也可以用 componentDidShow 生命周期 函数 每次进入页面都会刷新页面

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文