【发布时间】:2019-03-30 14:52:49
【问题描述】:
我有一个 react-native 应用,使用 react-navigation。
我使用了一个完美运行的示例,但是当我添加我自己的组件时,我收到一条错误消息,它不是一个组件。
错误信息:
"路由 Loginscreen 的组件必须是 react 组件"
有效组件的代码:
class DetailsScreen extends React.Component { render() {
return ( <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Text>Details Screen</Text>
</View>);}}
不起作用的组件代码:
class Login extends React.Component {
render() {
return (
<ImageBackground source={require('./assets/Background.png')} style={styles.background}>
</ImageBackground>
);}
我当然有导入,我已经这样做了:
export default createStackNavigator({
Home: { screen: HomeScreen, },
Details: { screen: DetailsScreen,},
LoginScreen: { screen: Login,},},
{ initialRouteName: 'Login',});
我完全糊涂了,因为没有功能差异,文档没有提到这一点,我也找不到类似的问题
感谢您抽出宝贵时间阅读本文
【问题讨论】:
-
错误是什么?
-
@ArielSalem "路由 Loginscreen 的组件必须是 react 组件"
-
您如何导出登录组件以及如何将登录组件导入导航器?
-
@ArielSalem 我偶然发现了答案。事实证明,“屏幕”必须在“导出默认 createStackNavigator”之前,我将它放在组件的中间。感谢您花时间帮助我
-
没问题,很高兴你明白了
标签: react-native components react-navigation