react-native - 错误路由器的组件必须是反应组件
问题描述
环境
反应原生:0.61
反应原生导航:4.0
部署的操作系统:Android 9 pie
import {createAppContainer} from 'react-navigation';
import {createStackNavigator} from 'react-navigation-stack';
import Signup from './Signup';
import React, { Component } from 'react';
import Home from './Home';
import EditProfile from './Editprofile';
import Payments from './Payments';
import Refer from './Refer';
import { createDrawerNavigator } from 'react-navigation-drawer';
export default class App extends React.Component {
render() {
return <Appcont />;
}
}
const appi = createStackNavigator(
{
signup: {
screen: ()=><Signup/>
},
home: {
screen: ()=><Home/>
},
editProfile:{
screen:()=><EditProfile/>
},
payments:{
screen:()=><Payments/>
},
refer:{
screen:()=><Refer/>
}
},
{
initialRouteName:'signup'
}
);
const MyDrawerNavigator = createDrawerNavigator(appi,{
initialRouteName: 'signup',
headerMode:'float',
contentOptions: {
activeTintColor: '#e91e63',
}
});
const Appcont = createAppContainer(MyDrawerNavigator);
主页.js
import React, { Component } from 'react';
import { Text, View,Image } from 'react-native';
class Home extends Component {
static navigationOptions = {
title:'Home',
drawerLabel: 'Home',
drawerIcon: ({ tintColor }) => (
<Image
source={require('./img/Homepng.png')}
style={{width:20,height:20}}
/>
),headerShown:'true'
};
render() {
return (
<View style={{ flex: 1, justifyContent: "center", alignItems: "center" }}>
<Text>Hello, home</Text>
</View>
);
}
}
export default Home;
当我运行上面的代码时,它会抛出一个错误!错误路由器的组件必须是反应组件
我已经看到了与此相关的所有问题并尽可能地进行了纠正,但我仍然收到此错误,我不知道为什么?
解决方案
你可以尝试改变
const appi = createStackNavigator(
{
signup: {
screen: ()=><Signup/>
},
}
至
const appi = createStackNavigator({
signup: {
screen: Signup,
},
});
同时,Singup 必须扩展 React.Component,并记得导出它。并且() => <Home/>
不是一个组件。它是函数对象
export defalut class Sigup extends React.component
推荐阅读
- python - 如果两只乌龟都互相接触,如何弹跳
- node.js - 是否有 package.json 键来定义静态资产的位置
- javascript - 为什么表单中动态创建的字段在提交时不通过?
- c# - 带有 && 和 || 的 IF 函数 同时
- xml - JAXB 未将 > 符号转换为 >
- ansible - 对多个组使用 ansible 的 Azure 虚拟机清单
- r - dplyr - 评估错误:缺少参数“n”,没有默认值
- python - Pandas groupby/pivot by date 在多列上
- ionic-framework - IONIC 1,事件后增加子值
- reactjs - 来自 mui-datatable 的动态数据