reactjs - 有没有办法在显示另一个组件之前检查特定的底部选项卡是否处于活动状态?
问题描述
我正在使用反应导航 5 并使用 createBottomTabNavigator() 创建底部选项卡,以便在点击时使用不同的组件呈现主体。现在的问题是,我还需要仅在“设置”选项卡处于活动状态并且显示“设置”组件时才显示文本组件。有没有办法检查哪个底部选项卡处于活动状态?
我知道导航路线有 useRoutes 有类似的东西吗?
<Tab.Navigator
initialRouteName="Home"
tabBarOptions={{
inactiveTintColor: theme.inactive,
activeTintColor: theme.active,
}}>
<Tab.Screen
name="Home"
options={{
tabBarIcon: ({color}) => <HomeIcon color={color} />,
}}>
{() => (
<Home content={feed} />
)}
</Tab.Screen>
<Tab.Screen
name="Settings"
component={Settings}
options={{
tabBarIcon: ({color}) => <SettingsIcon color={color} />,
}}
/>
</Tab.Navigator>
IEroute.name === "Settings" ? this : that
解决方案
options={{
tabBarIcon: ({focused}) => <SettingsIcon color={focused ? 'red' : 'blue'} />,
}}
你可以使用道具focused
。如果您的选项卡返回 True focused
。相反,它返回false
推荐阅读
- typescript - 如何使`[key: string]: string`出现在NestJS Swagger生成中
- google-cloud-platform - 使用自定义服务帐户在 GCP 中创建 VM 时,KMS 权限出现 400 错误
- sql - Postgres - 从组中检索最新记录的最有效方法
- ruby-on-rails - Rails迁移,如何更改表列
- javascript - ReactJS 中的警告。组件正在更改要控制的非受控输入。这可能是由于值从 undefined 变为
- mysql - 如何在连接表中创建不可重复的连接
- python - 使用 python 输出作为另一个守护进程的输入
- amazon-web-services - 对象和类型的组合 any - Terraform
- laravel - laravel - 邮递员返回 HTML 而不是 JSON?
- vue.js - VueJS Vee-Validate 验证未发生