React native 错误路由器的组件必须是react组件
环境 反应本机:0.61 反应本机导航:4.0 部署的操作系统:安卓9派React native 错误路由器的组件必须是react组件,react-native,React Native,环境 反应本机:0.61 反应本机导航:4.0 部署的操作系统:安卓9派 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 {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);
从“react navigation”导入{createAppContainer};
从“反应导航堆栈”导入{createStackNavigator};
从“./Signup”导入注册;
从“React”导入React,{Component};
从“./主页”导入主页;
从“/EditProfile”导入EditProfile;
从“./Payments”导入付款;
从“/引用”导入引用;
从“react navigation drawer”导入{createDrawerNavigator};
导出默认类App扩展React.Component{
render(){
返回;
}
}
const appi=createStackNavigator(
{
报名:{
屏幕:()=>
},
主页:{
屏幕:()=>
},
编辑配置文件:{
屏幕:()=>
},
付款:{
屏幕:()=>
},
参考:{
屏幕:()=>
}
},
{
initialRouteName:“注册”
}
);
const MyDrawerNavigator=createDrawerNavigator(附件{
initialRouteName:'注册',
headerMode:“float”,
内容选项:{
activeTintColor:“#e91e63”,
}
});
const-Appcont=createAppContainer(MyDrainerNavigator);
home.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;
import React,{Component}来自'React';
从“react native”导入{Text,View,Image};
类Home扩展组件{
静态导航选项={
标题:"家",,
抽屉标签:“家”,
抽屉图标:({tintColor})=>(
),headerShown:“正确”
};
render(){
返回(
你好,家
);
}
}
导出默认主页;
当我运行上面的代码时,它会抛出一个错误!!!
错误路由器的组件必须是react组件
我已经看到了与此相关的所有问题,并尽可能地进行了纠正,但我仍然会遇到此错误,我不知道为什么?您可以尝试更改
const appi = createStackNavigator(
{
signup: {
screen: ()=><Signup/>
},
}
同时,Singup必须扩展React.Component,并记住导出它。并且()=>
不是一个组件。它是函数对象
export defalut class Sigup extends React.component
反应。成分和成分是一样的,是吗?是的,是一样的。如果您的组件扩展了它,我认为
()=>
是您使用的错误位置(()=>
),请尝试将其更改为
export defalut class Sigup extends React.component