2016-03-25 15 views
2

Bileşenleri sunucu tarafımda işlemek için renderToString öğesini kullanma. Bütün bunlar gayet iyi çalışıyor./Gibi bir URL'yi manuel olarak girersem, bileşenlerim mükemmel bir şekilde işleniyor.Değişiklik durumu bildirilir, ancak URL değiştirilmez

Sorun, uygulamamda <Link> kullanırken durum değişiyor, ancak URL'm hiç güncellenmiyor.

route.js: Ben o browserHistory nedeniyle olabilir duygu, orada bir şey eksik olan

import React from 'react'; 
import { render } from 'react-dom'; 
import { Provider } from 'react-redux'; 
import { browserHistory, Router, match } from 'react-router'; 
import routes from './routes'; 
import store from './stores'; 

// Server rendering works identically when using async routes. 
// However, the client-side rendering needs to be a little different 
// to make sure all of the async behavior has been resolved before the 
// initial render,to avoid a mismatch between the server rendered and client rendered markup. 

match({ location:browserHistory, routes }, (error, redirectLocation, renderProps) => { 
    render((
    <Provider store={store}> 
     <Router {...renderProps} /> 
    </Provider> 
), document.getElementById('root')); 
}); 

?

cevap

2

Eşleşme() yanlış argümanlar veriyordum. Onun yerine:

match({ location:browserHistory, routes } 

O olmalıydı:

match({ history:browserHistory, routes } 
İlgili konular