【发布时间】:2021-11-02 16:56:46
【问题描述】:
我解决了这个将导航组件分隔在不同文件中的特定问题,这样组件就不会再重新呈现了
首先:我使用的是 React Native。我有一个嵌套在 DrawerNavigator 中的 TabNavigator
我正在尝试根据特定屏幕将抽屉标题的颜色更改为 Material Top Tab Navigator。
我尝试使用具有布尔状态的 TabNavigator 的 screenListeners 来执行此操作,但是当我设置 setState 时,TabNavigator 被重新渲染并再次跳转到主屏幕。
PD:应用程序有一个来自抽屉的顶部标题和来自 tabNavigator 的底部选项卡。我需要当 X 屏幕成为焦点时它们都改变颜色。 为此,我使用了 route.name 的底部选项卡,但我无法从父导航器访问此属性。
....
screenOptions={({route}) => ({
tabBarStyle: {
backgroundColor:
route.name === '[targetScreen]' ? '#6600A1' : theme.PRIMARY_COLOR,
},
...
【问题讨论】:
标签: react-native react-hooks navigation-drawer react-navigation-bottom-tab react-navigation-v6