当前位置: 首页 > 知识库问答 >
问题:

反应路由器错误:提供给路由的道具组件无效

龚沛
2023-03-14

当我在浏览器上运行我的应用程序时,我的控制台中出现以下错误。

警告:失败的propType:为“Route”提供的prop“component”无效。

我目前正在使用以下开发需求的版本

react v0。14.8反应路由器v2。3.0网页包v1。13.0巴别塔装载机v6。2.4巴别塔核心v6。7.7巴别塔-preset-es2015 v6。6.0巴别塔polyfill v6。7.4巴别塔v6。5.0巴别塔寄存器v6。7.2巴贝尔运行时v6。6.1

这就是我的路由文件的外观。

import {Route, IndexRoute} from '../node_modules/react-router';
import App from '../components/app';
import Dashboard from '../components/dashboard';
import UsersList from '../components/users/list';
import CoursesList from '../components/courses/list';

// Define routes

const routes = (
    <Route path='/' component={App}>
         <IndexRoute component={Dashboard}/>
         <Route path='/dashboard' component={Dashboard} />
         <Route path='/users' component={UsersList} />
         <Route path='/courses' component={CoursesList} />
    </Route>
);

export default routes;

这就是我的主js的样子

import React from './node_modules/react';
import ReactDOM from './node_modules/react-dom';
import {Router, browserHistory} from './node_modules/react-router';
import routes from './configs/routes';
// Render
ReactDOM.render(<Router history={browserHistory} routes={routes} />, document.getElementById("app") );

请问这个错误是从哪里来的?我该如何解决这个问题?

共有1个答案

燕照
2023-03-14

你必须像这样设置路由器

<Router history={browserHistory} >{routes}</Router>

而不是

<Router history={browserHistory} routes={routes} />
 类似资料:
  • 我是React Router的新手,我正试图通过一条路径将一些道具从我的父组件传递给子组件。 这是我的代码: 理想情况下,我希望能够从子组件触发。在做了一些研究后,我认为传递一个选项而不是会传递它,但是它不会。知道如何将函数传递到路由组件中吗?

  • 我试图使用react router将props从app.jsx传递到某个路由组件,但出现以下错误

  • 我在一个组件中有一个按钮,单击我想转到另一个组件并将状态传递给该组件。 是这样的: 但它不起作用。单击“我去添加新问题url”,但组件AddNewQuestionPage不会呈现。若我不把路线放在AddQuestions组件中,而是放在应用程序组件中,它就可以工作。它是整个应用程序的主要组件,使用Switch,还设置了其他路由。 但是,如果状态问题是从应用程序组件呈现的,我不知道如何将其传递给Ad

  • 我需要通过使用路由器的组件道具。这是我的代码: 如您所见,我验证了我要传递给登录组件的道具。 当我记录道具时,未经验证的道具不存在。我做错了什么?我怎样才能正确地通过道具?我跟踪了文档和其他讨论。据我所知,这应该是可行的。react router和react router dom的版本为4.0.0

  • 我想将我的应用程序入口点用作全局状态存储。将信息作为道具传递给孩子们。 使用react-router 4,如何将prop数据发送到渲染的组件。以类似的方式: 我见过一些旧版本react router的简陋变通方法,这些方法似乎已被弃用。 在v4中这样做的正确方法是什么?

  • 正如标题中所述,我想将react路由器道具和自定义道具导入到我的组件中。 我的路线看起来像这样: 在这里我得到这个错误:类型{}缺少以下属性从类型CompProps:名称,历史,位置,匹配 错误来自我的组件,如下所示: 我是TS的初学者,但我认为RouteComponentProps应该包含(名称、历史、位置)为什么TS会把错误推到我身上。将自定义道具和路由器道具传递给组件的最佳实践是什么?