Próbuję napisać składnik routera dla mojej aplikacji reagowania. Tworzę nową klasę reakcji i definiuję niektóre trasy w metodzie componentDidMount. Jest to metoda pełnaNieoczekiwany token <błąd w reagowaniu komponentu routera
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} />
});
});
},
Kiedy jestem iść do '/' lub '/ Realty' wszystkie prace. Ale kiedy idę do "realty/new" mam błąd Uncaught SyntaxError: nieoczekiwany token < w app.js: 1. Ale debugger Chrome wyświetla ten błąd w moim pliku index.html i nawet nie mogę tego debugować w przeglądarce. Ten błąd występuje za każdym razem, gdy przechodzę do trasy z "/". Próbuję użyć innych routerów po stronie klienta, takich jak page.js, rlite, grapnel, ale wszystkie wciąż są takie same. Może ktoś ma jakiś pomysł na temat tego błędu?
UPD: To jest kod fuul komponentu routera. Teraz używać page.js fo routingu i widzę ten sam błąd
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;
Nie jestem pewien, dlaczego jesteś sprzęgania Node kodu po stronie serwera ze strony klienta kod React ... –
używam biblioteki hak na stronie klienta routing. Obiekt router stworzony przez var router = new Grapnel(). Próbuję używać innych bibliotek, ale wynik jest taki sam. –
Oh ok, moje złe, myślałem, że to ekspresowy router w tym kodzie. Czy możesz spróbować połączyć swój pełny kod źródłowy? Wydaje się, że błąd występuje w linii 1. Być może brakuje Ci JSXTransformer w skryptach HTML. –