我正在尝试为我的React应用程序编写路由组件。我创建了一个新的React类并在componentDidMount方法中定义了一些路由。
componentDidMount: function () {
var me = this;
router.get('/', function(req){
me.setState({
component: <MainPage />
});
});
router.get('/realty', function(req){
me.setState({
component: <RealtyPage />
});
});
router.get('/realty/:id', function(req){
me.setState({
component: <RealtyPage id={req.params.id} />
});
});
},
当我访问'/'或'/realty'时一切正常。但是,当我访问'realty/new'时,我会得到错误Uncaught SyntaxError:在app.js:1中意外的token <。但Chrome调试器显示该错误出现在我的index.html中,我甚至无法在浏览器中进行调试。每次访问带有'/'的路由时都会出现此错误。我尝试使用其他客户端路由器,例如page.js、rlite、grapnel,但仍然相同。也许有人对这个错误有什么想法吗?
更新:这是路由器组件的完整代码。现在它使用page.js进行路由,我看到了相同的错误。
var React = require('react');
var page = require('page');
var MainPage = require('../components/MainPage');
var RealtyPage = require('../components/RealtyPage');
var Router = React.createClass({
getInitialState: function(){
return {
component: <RealtyPage />
}
},
componentDidMount: function () {
var me = this;
page('/', function (ctx) {
me.setState({
component: <MainPage />
});
});
page('/realty', function (ctx) {
me.setState({
component: <RealtyPage />
});
});
page.start();
},
render: function(){
return this.state.component
}
});
module.exports = Router;
app.js
,以便我们帮助找出错误来自哪里。 - Keith Yong