【发布时间】:2017-09-03 01:49:58
【问题描述】:
import React, { Component } from 'react';
import './App.css';
var ReactRouter = require('react-router');
var Router = ReactRouter.Router;
var Route = ReactRouter.Route;
var Navigation = ReactRouter.Navigation;
var StorePicker = React.createClass({
render : function() {
return (
<form className="store-selector">
<h2>Please Enter A Store</h2>
</form>
)
}
});
var routes = (
<Router>
<Route path="/" component={StorePicker}/>
<Route path="store" component={App}/>
</Router>
)
export default routes;
我正在尝试使用反应路由器。此代码不起作用。它没有给出任何错误。但它给出了两个警告。
警告:失败的道具类型:道具history在Router中标记为必填,但其值为undefined。
在路由器中
React.createElement: type is invalid -- 期望一个字符串(对于内置组件)或一个类/函数(对于复合组件)但得到:对象。
【问题讨论】:
-
第一个警告是不言自明的。 Router 组件需要一个
history属性,而您还没有提供。请查阅您正在使用的 react-router 版本的文档。如果不知道它来自哪里,就无法诊断出第二个警告。你没有在上面的代码中调用React.createElement,所以它一定是在别的地方。 -
响应第一个警告:check out this answer
-
你还没有导入应用组件,但是你已经在路由中使用了。
-
@TusharKotlapure 这不是全部代码,App 仅在此代码中。抱歉没有提到:)
标签: javascript reactjs react-router