我正在尝试在react native中实现动态标签栏。是否可以在react native中实现动态选项卡栏。如果可能的话?请给我说明以实现它。所有的tab选项都来自API。
您可以动态构建标签。有很多选择。我建议将redux
与react-navigation
结合使用。但是请记住,它们不能100%动态。您必须具有预定义的屏幕或堆栈。在代码中它将如下所示:
// Let us assume that you fetched the data from your API and mapped them into this kind of options
let options = {
Home: {
screen: HomeStack,
},
};
let authOptions = {
Auth: {
screen: AuthStack,
},
};
let DynamicTabs = ({routes, tabOptions=defaultTabOptions}) => {
return createBottomTabNavigator(routes, tabOptions);
};
let ConstructRoutes = ({userLoggedIn}) => {
if (userLoggedIn) {
return <DynamicTabs routes={options} />;
}
return <DynamicTabs routes={authOptions} />;
};
export default connect(({user})=>({userLoggedIn:!!user.token}))(ConstructRoutes)