我正在尝试为我的 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: Unexpected token < in app.js:1。但是 Chrome 调试器在我的 index.html 中显示该错误,我什至无法在浏览器中调试它。当我使用“/”进入路线时,每次都会发生此错误。我尝试使用其他客户端路由器,如 page.js、rlite、grapnel,但仍然相同。也许有人对这个错误有任何想法?
UPD:这是路由器组件的完整代码。现在它使用 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;