Как передать магазин Mobx в BottomTabs с другого экрана, используя React-Native-Navigation V2? - PullRequest
0 голосов
/ 19 ноября 2018

Я относительно новичок в React Native и меня немного смущает объединение MobX с React Native Navigation (от Wix) и прохождение магазинов.

Один конкретный пример:

У меня есть один Login компонент в качестве пользователя root, в котором хранится хранилище, используя Provider в его обертке и inject в компоненте, хранилище обновляется, например, именем пользователя, и, наконец, метод вызывается с именем goToMain, который устанавливает макет нижней вкладки.

export const goToMain = () => Navigation.setRoot({
root: {
    bottomTabs: {
        children: [{
            stack: {
                children: [{
                    component: {
                        name: "Tab1",
                        passProps: {
                            text: 'This is tab 1'
                        }
                    } 
                }],
                options: {
                    bottomTab: {
                        text: "Tab1",
                        icon: require('../../assets/icons/test_tab_icon.png'),
                        testID: "TAB_"'
                    }
                }
            }
        },
        {
            stack: {
                children: [{
                    component: {
                        name: "Tab2",
                        passProps: {
                            text: "This is tab 2"
                        }
                    } 
                }],
                options: {
                    bottomTab: {
                        text: "Tab2",
                        icon: require('../../assets/icons/test_tab_icon.png'),
                        testID: "TAB_2"
                    }
                }
            }
        }]
    }
}

Пока все хорошо, но я бы хотел передать хранилище из Login на вкладки, чтобы они имели доступ к имени пользователя или другим атрибутам из хранилища, но я понятия не имею, как это сделать.

Нужно ли мне поиграться со структурой экранов и рутом или, может быть, использовать Provider каким-либо другим способом?

Было бы здорово услышать мнение эксперта по теме. :)

...