当我尝试在我的应用上添加路线时出现以下错误,我不知道我做错了什么,我试图按照文档指南进行操作
元素类型无效:需要一个字符串(用于内置组件) 或类/函数(对于复合组件)但得到:undefined。您 可能忘记从您定义的文件中导出组件, 或者您可能混淆了默认导入和命名导入。
检查
的渲染方法AppRoutes
。
import React from 'react';
import { ConnectedRouter } from 'react-router-redux';
import { Route, Switch } from 'react-router-dom';
import SignUp from '../../screens/SignUp';
import { history } from '../../../redux/store';
function AppRoutes() {
return (
<ConnectedRouter history={history}>
<Switch>
<Route path="/login" component={SignUp} />
<Route exact path="/" component={SignUp} />
</Switch>
</ConnectedRouter>
);
}
export default AppRoutes;
答案 0 :(得分:1)
您可能安装了react-router-redux,如下所示:
npm install --save react-router-redux
或
yarn add react-router-redux
这将安装4.x版本,因此您收到此错误。如果您仔细查看文档,您将看到以下说明:
npm install --save react-router-redux@next
或
yarn add react-router-redux@next
安装5.x的“下一个”版本后,此错误将消失。
答案 1 :(得分:0)
您需要按正确的顺序安装步骤。您可以查看以下链接:https://github.com/ReactTraining/react-router/issues/5428。 teps重现
创建一个新应用 npm install -g create-react-app create-react-app react-router-params cd react-router-params /
安装反应路由器 安装react redux npm install react-router-dom @ next
直接从文档
中取出示例中的粘贴运行它 npm start