我正在尝试为我的反应应用程序编写路由器组件。我创建新的 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
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;
“意外令牌”错误可能因多种不同原因而出现。我遇到了类似的问题,就我而言,问题是在 html 中加载生成的包的脚本标记如下所示:
<script src="scripts/app.js"></script>
当导航到带有参数的路由时(嵌套路由或具有多个段的路由也会发生同样的情况),浏览器会尝试使用错误的 URL 加载脚本。在我的例子中,路由路径是“user/:id”,浏览器向“http://127.0.0.1:3000/user/scripts/app.js' 而不是 'http://127.0.0.1:3000/scripts/app.js'。解决方案很简单,将脚本标签更改为:
<script src="/scripts/app.js"></script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)