В моем приложении React Native есть вариант использования, в котором я хотел бы иметь возможность динамически добавлять или удалять вкладки из моего tabnavigator. В одной части моего приложения пользователь должен выполнить несколько шагов. Я бы хотел, чтобы каждый шаг был представлен вкладкой. Но возможно, что шаг может быть добавлен или удален администратором, когда у пользователя открыто приложение. Если это произойдет, я хочу, чтобы соответствующая вкладка была удалена или добавлена новая вкладка.
Я создал эту функциональность, создав новый tabnavigator при каждом изменении количества экранов, а затем отобразив этот новый tabnavigator. вместо старого. Я получаю предупреждение «Вы должны явно отображать только один навигатор в своем приложении ...»
Мой код выглядит как
export default class ParentComponent extends Component {
...
generateNewNavigator(params) {
const newNav = createMaterialTopTabNavigator(params) //Generate it
MyNavigator = createAppContainer(newNav)
this.setState({
myView: <MyNavigator/>
})
...
render() {
return({this.state.myView})
}
}
Куча приложения находится вне этого компонента, который сама вложена в навигатор стека и вкладок, которые составляют «основное» приложение.
Мой вопрос: является ли это предупреждение поводом для беспокойства? Если да, есть ли альтернативный способ удаления и добавления вкладок, который позволил бы мне придерживаться этого правила? Мне кажется, что эти навигаторы неизменны после создания; это было единственное решение, которое я мог придумать, чтобы обойти это. Спасибо!