React-router Uncaught TypeError:type.toUpperCase不是函数 [英] React-router Uncaught TypeError: type.toUpperCase is not a function

查看:384
本文介绍了React-router Uncaught TypeError:type.toUpperCase不是函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用最新版本的react,react-router,gulp和browserify
我在beowser console中得到了这个:
Uncaught TypeError:type.toUpperCase不是函数

I'm using the latest version of react, react-router, gulp and browserify I got this in beowser console: Uncaught TypeError: type.toUpperCase is not a function

我的代码在app.js中:

my code in app.js:

"use strict";
var React = require('react');
var Router = require('react-router');
var Header = require('./components/Header');
var Index = require('./components/Index');
var About = require('./components/About')
var Route = Router.Route;
var IndexRoute  = Router.IndexRoute ;


var App = React.createClass({
  render: function(){
    return (
      <div>
        <Header />
        <div>
          {this.props.children}
        </div>
      </div>
    );
  }
})
React.render(<Router><Route path="/" component={App}>
<IndexRoute  component={Index}/>
<Route path="about" component={About}/>
</Route>
</Router>, document.getElementById('app'));


推荐答案

只需将您的反应路由器版本从0.0.13升级到1.0.0-rc1(beta)因为下面的代码只适用于1.0.0 beta版本,它在 change log

Just upgrade your react router version from 0.0.13 to 1.0.0-rc1(beta) coz the below code will only work for 1.0.0 beta version which is mentioned in change log.

React.render(<Router><Route path="/" component={App}>
<IndexRoute  component={Index}/>
<Route path="about" component={About}/>
</Route>
</Router>, document.getElementById('app'));

升级版本后,您必须正确地声明路由器。

After upgrading version you have to declare router properly like below.

var React = require('react');
var ReactRouter = require('react-router');
var Router = ReactRouter .Router;
var Route = ReactRouter .Route;

现在路由器已被正确定义。这对我来说很有效。试试看。

Now router is defined properly. This worked for me..give a try.

这篇关于React-router Uncaught TypeError:type.toUpperCase不是函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆