Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 是否可以在react native中动态加载选项卡?_Reactjs_React Native_Tabbar_Tabview - Fatal编程技术网

Reactjs 是否可以在react native中动态加载选项卡?

Reactjs 是否可以在react native中动态加载选项卡?,reactjs,react-native,tabbar,tabview,Reactjs,React Native,Tabbar,Tabview,我正在尝试在react native中实现动态选项卡栏。是否可以在react native中实现动态选项卡栏。如果可能的话?请给我指令来实现它。所有的标签选项都来自API 您可以动态构造选项卡。有很多选择。我建议将redux与react导航结合使用。但请记住,它们不可能是100%动态的。您必须具有预定义的屏幕或堆栈。在代码中,它将如下所示: // Let us assume that you fetched the data from your API and mapped them into

我正在尝试在react native中实现动态选项卡栏。是否可以在react native中实现动态选项卡栏。如果可能的话?请给我指令来实现它。所有的标签选项都来自API

您可以动态构造选项卡。有很多选择。我建议将
redux
react导航结合使用。但请记住,它们不可能是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)
//假设您从API获取了数据,并将其映射到此类选项中
让选项={
主页:{
屏幕:HomeStack,
},
};
让authOptions={
认证:{
屏幕:AuthStack,
},
};
让DynamicTabs=({routes,tabOptions=defaultTabOptions})=>{
返回CreateBoottomTabNavigator(路由、选项卡选项);
};
让ConstructRoutes=({userLoggedIn})=>{
if(userLoggedIn){
返回;
}
返回;
};
导出默认连接({user})=>({userLoggedIn:!!user.token}))(ConstructRoutes)

如果这还不足以让你看一看。

你需要展示你所做的努力。看一看。一旦你尝试了某件事,你可以问更具体的问题。这不是你问问题的方式。你应该在你的代码上下功夫,把你到目前为止所做的事情放在这里。阅读帮助中心主题,了解更多有关您可以提出的问题以及您必须避免的问题类型的信息。社区一定会很乐意为您解答正确的问题。但没有预定义的屏幕限制。因为我的API提供了n个选项卡栏。那我能做什么呢。