Свежий реактивный проект (версия 0.61.1), работающий над реализацией приставки с навигацией по wix (v ^ 2.27.9), начинающийся в настройках регистрации / входа на основе вкладок, до тех пор, пока не будет проведена аутентификация, после чего наступает другая навигационная раскладка.
Я пробовал Navigation.setRoot()' and
Navigation.startTabBasedApp (). Оба бросают свои ошибки.
Моя реализация в app.js:
import {Component} from 'react';
import {Provider} from 'react-redux';
import {Navigation} from 'react-native-navigation';
import ReduxThunk from 'redux-thunk';
import {registerScreens} from './src/screens';
import configureStore from './src/store/configureStore';
const store = configureStore();
registerScreens(store, Provider);
class App extends Component {
constructor(props) {
super(props);
store.subscribe(this.onStoreUpdate.bind(this));
this.startApp();
}
onStoreUpdate() {
const {user} = store.getState().auth;
if (this.currentUser !== user) {
this.currentUser = user;
this.startApp(user);
}
}
startApp(user) {
console.log(user);
Navigation.events().registerAppLaunchedListener(() => {
switch (user) {
case !undefined:
Navigation.startSingleScreenApp({
screen: {
screen: 'Authenticated',
title: "You're authenticated",
navigatorStyle: {},
navigatorButtons: {}
},
});
break;
default:
Navigation.startTabBasedApp({
tabs: [
{
screen: 'Login',
label: 'Login',
},
{
screen: 'Register',
label: 'Register',
},
],
tabsStyle: {
intialTabIndex: 1,
},
});
}
});
}
}
export default App;
это ошибка: TypeError: undefined is not a function (near '..._reactNativeNavigation.Navigation.startTabBasedApp...')
Если я поменяю startTabBasedApp с Navigation.setRoot()
, например:
Navigation.setRoot({
root: {
bottomTabs: {
children: [
{
component: {
name: 'Login',
options: {
bottomTab: {
text: 'Login',
},
},
},
},
{
component: {
name: 'Register',
options: {
bottomTab: {
text: 'Register',
},
},
},
},
],
},
},
});
Я получаю эту ошибку:
TypeError: concreteComponentProvider is not a function. (In 'concreteComponentProvider()', 'concreteComponentProvider' is an instance of Object)
Я хочу, чтобы приложение открывалось в приложении на основе вкладок, где одна вкладка представляет собой экран «Регистрация», а другая -экран "Вход в систему"