【问题标题】:React-native is not recognizing a component as a componentReact-native 没有将组件识别为组件
【发布时间】: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


【解决方案1】:

哇!

我试图自己测试这个以修复它,突然它起作用了。查看编辑历史,我发现我已将“导出默认 createStackNavigator”从 app.js 的 middel 移至底部。

我是 .net 开发人员,因此根据我的经验,这并不直观

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-10
    • 2019-12-06
    • 1970-01-01
    • 2020-07-13
    • 2018-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多