У меня есть стековый навигатор, обернутый контейнером приложения:
const AppNavigator = createStackNavigator({
Home: {
screen: Home,
},
});
export default createAppContainer(AppNavigator);
В доме должны быть динамические вкладки.Я хочу загрузить некоторую информацию из серверной части и затем создать вкладки.
А вот мой Home компонент:
class Home extends Component {
get tabs() {
return {
Main: { screen: Demo },
World: { screen: Demo },
};
}
get tabOptions() {
return {
// options...
};
}
render() {
const Tabs = createMaterialTopTabNavigator(this.tabs, this.tabOptions);
return <Tabs />;
}
}
В этом случае я получаю эту ошибку:
Но если я завершаюсь с createAppContainer ...
const Tabs = createAppContainer(createMaterialTopTabNavigator(this.tabs, this.tabOptions));
... тогда я получаю предупреждение о большемчем один контейнер в приложении.
Так как правильно создавать динамические вкладки?
UPD 1. Реальный код получения вкладок, который я сейчас использую с желтым предупреждением.
get tabs() {
const { categories } = this.props;
return reduce((acc, item) => assoc(prop('name', item), Demo, acc), {})(categories); // ramda
}