这个是我在用taro时制作发现的,将currentIndex存入store,之后切换会产生问题,一共3个按钮前2个都正常,点击第三个就会跳到第一个去。就算强制刷新也不行。后来发现是单组件connect与hooks混用造成的bug。解决方法就是全套使用类组件或者函数组件。
自定义tabbar切换还需要个隐藏的api,否则当别的页面跳回来容易不进行高亮:
wx.onAppRoute((route) => { const res = tabbarPaths.findIndex((v) => v === route.path); if (res > -1) { store.dispatch(switchTab(res)); } else { store.dispatch(switchTab(-1)); } });