我对本机反应很新,所以请仔细解释。我有 3 个文件App.js SplashAndLogin.js和Register.js我能够从初始屏幕进入注册屏幕,并在我的注册组件之间来回切换文件,但是当它返回登录屏幕时,我似乎总是遇到同样的错误。
我尝试了几种不同的方法,但它们都一直给我同样的错误。我开始认为我设置文件的方式是错误的。
//App.js
class App extends Component<Props> {
render() {
return (
<AppContainer/>
)
}
}
export default App
const AppSwitchNavigator = createSwitchNavigator(
{
Login: {screen: SplashAndLogin},
//Registe :{screen: Register}
});
//SplashAndLogin.js
class SplashAndLogin extends Component<Props> {
render() {
return (
<AppContainer/>
)
}
}
export default SplashAndLogin;
const SAndLAppNavigator = createSwitchNavigator(
{
SandL : {screen: LoadingScreen },
RegisterScreen : {screen: Register}
}
);
//Register.js
export default class Application extends Component<Props> {
render() {
return (
<AppContainer/>
);
}
}
const AppSwitchNavigator = createStackNavigator(
{
Login :{screen: NameScreen},
PhoneAndEmail: {screen: EmailPasswordScreen},
HomeScreen: {screen: SplashAndLogin },
UploadScreen: {screen: CertificateUploadScreen }
});
const AppContainer = createAppContainer(AppSwitchNavigator);
所以总结一下,我可以进入每个屏幕,除非我在 Register.js 文件上并尝试导航到HomeScreen它会抛出错误
“路由'HomeScreen'的组件必须是一个反应组件例如......”