2015-04-18 19 views
26

Tepki uygulamam için yönlendirici bileşen yazmayı deniyorum. Yeni tepki sınıfı oluşturuyorum ve componentDidMount yönteminde bazı rotalar tanımladım. Bu tam bir yöntemdir Beklenmeyen belirteç <hata yanıtlayıcı bileşeninde hata

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} /> 
     }); 
    }); 

}, 

Ben '/' veya '/ gayrimenkul' tüm işler gitmek

. Ama, ben 'realty/new' için gidiyorum hata var Uncaught SyntaxError: Beklenmeyen simge < app.js: 1. Ancak Chrome hata ayıklayıcı, bu hatayı index.html sayfamda görüntülüyor ve tarayıcıda bile hata ayıklayamıyorum. Bu hata, '/' ile rotaya gittiğimde her seferinde gerçekleşir. I.m, client.js gibi diğer istemci yönlendiricileri kullanmaya çalışıyorum, rlite, grapnel, ama hepsi hala aynı. Belki birisi bu hata hakkında bir fikriniz var mı?

YUKARI: Bu, yönlendirici bileşeninin fuul kodudur. Şimdi yönlendirme fo page.js kullanmak ve "beklenmeyen belirteç" hata farklı bir takım nedenlerden gösterilebilirler

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; 
+0

Ben istemci tarafı ile sunucu tarafında Düğüm kodu birleştirilmesi konum neden emin değilim kodu Tepki ... –

+0

İstemci tarafı için grapnel kütüphanesini kullanıyorum: Çözüm Buna script etiketini değiştirmek kolay oldu yönlendirme. Var yönlendirici tarafından oluşturulan nesne yönlendirici = new Grapnel(). Diğer kütüphaneleri kullanmayı deniyorum, ama yine de aynı sonucu elde ediyorum. –

+0

Tamam tamam, o zaman kötü, o kodda hızlı yönlendirici olduğunu düşündüm. Tam kaynak kodunuzu bağlamayı deneyebilir misiniz? Hata, 1. satırda gerçekleşiyor gibi görünüyor. HTML komut dosyalarınızda JSXTransformer eksik olabilir. –

cevap

106

aynı hatayı görüyoruz. Ben de benzer bir sorun koştu ve benim durumumda sorun şöyle html oluşturulan paket yüklemek için script etiketi olduğuydu:

<script src="scripts/app.js"></script> 

bir parametreye sahip bir rotaya navigasyon (aynı şey olacak iç içe bir rotaya veya birden fazla segmente sahip bir rotaya), tarayıcı betiği yanlış URL'yi kullanarak yüklemeye çalışır. Benim durumumda, rota yolu 'user /: id' idi ve tarayıcı 'http://127.0.0.1:3000/scripts/app.js' yerine 'http://127.0.0.1:3000/kullanıcısı /scripts/app.js' istekte bulundu.

<script src="/scripts/app.js"></script> 
+9

Çok teşekkürler hata gerçekten sinir bozucu oldu – manas

+2

Bu çözüm açık bir tane değil! Teşekkürler. – otajor

+1

Sizin için olmasaydı bunu asla bulamazdım. Teşekkürler Fastas. – Erika