Динамически добавлять или удалять вкладки из TabNavigator в реагировать навигации - PullRequest
0 голосов
/ 12 января 2020

В моем приложении 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})
}
}

Куча приложения находится вне этого компонента, который сама вложена в навигатор стека и вкладок, которые составляют «основное» приложение.

Мой вопрос: является ли это предупреждение поводом для беспокойства? Если да, есть ли альтернативный способ удаления и добавления вкладок, который позволил бы мне придерживаться этого правила? Мне кажется, что эти навигаторы неизменны после создания; это было единственное решение, которое я мог придумать, чтобы обойти это. Спасибо!

...