taro tabbar切换页面 首次刷新 之后不刷新?
微信小程序我使用的是taro,框架使用的taro-ui。使用tabbar切换页面时,除了第一次点开之外,之后再切换页面一直是没有刷新,也就是说没有执行commentDidmount,导致我增加购物车没法实时获取到购物车信息。如何解决。???
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
你应该用的是 类组件,commentDidmount 是第一次挂载完成 对应的生命周期。
所以第一次访问那个页面时没问题,但是当你切换到其他页面后,微信小程序并没有“销毁”那个页面,而是放入了“后台”,所谓重新切换到到那个页面,其实就是微信小程序把那个页面从 后台 调回到前台,并没有执行你想象中的 刷新。
你可以把 commentDidmount 改为 componentDidUpdate,这样确保每一次数据更新,页面都会更新。
当然更加的做法是推荐你使用 函数组件,对应的可以使用 useEffect() 来处理数据更新。
我用网上的很多说法好像都没效果。一种方法是使用轮询,时时刻刻获取数据变动,但是我不太会操作。
因为我的购物车其实是使用的一个组件。所以我在父组件中设置了一个math.random 每次点击切换点击操作都会向购物车组件中传不同的props,这样购物车组件就会每次点击之后都会渲染了。。我感觉这个方法肯定有问题。但是因为我现在是做得一个自己的毕业设计,所以我这种方法可以让我的这个功能实现,就先这么做了。有正确的好方法,希望大家多多指点。
我也是...现在你解决这个问题了吗
可以用 Redux 也可以用 componentDidShow 生命周期 函数 每次进入页面都会刷新页面