2016-10-09 3 views
1

Ich versuche universelle Rendering zu implementieren für meine reagieren-redux App Express.js-Server verwenden, denen ich folge dem Tutorial auf: http://redux.js.org/docs/recipes/ServerRendering.htmlUniversal-redux: browserhistory Fehler: kann nicht lesen Eigenschaft 'hören' undefinierter

wenn ich versuche, die rootreducer oder App-Dateien in die ausdrückliche server.js-Datei zu importieren, wie ich die folgende Fehlermeldung im Tutorial beschrieben:

\node_modules\react-router-redux\lib\sync.js:105 
unsubscribeFromHistory = history.listen(handleLocationChange); 
          ^
TypeError: Cannot read property 'listen' of undefined 
at syncHistoryWithStore (C:\Users\user pc\Desktop\citydrill\node_modules\react-router-redux\lib\sync.js:105:35) 

Dies ist mein Speicher Datei eines entsprechender Code:

import { syncHistoryWithStore } from 'react-router-redux'; 
import { browserHistory } from 'react-router'; 

const store = createStore(rootReducer, initialState, compose(
    applyMiddleware(thunk) 
)); 

export const history = syncHistoryWithStore(browserHistory, store); 

Dann benutze ich nur die Geschichte const im ClientApp wie folgt aus:

const router = (
<Provider store={store}> 
    <Router history={history}> 
     <Route name="Home" path="/" component={App}> 
      <IndexRoute name="Home" component={Landing}></IndexRoute> 
     </Route> 
    </Router> 
</Provider> 

)

Ich habe versucht, so viele verschiedene Tutorials andere als die in redux.js.org zu, und ich bin immer stecken An diesem einen Punkt, weil ich immer eine Datei aus meinem Client-Code in meine Express-Server.js-Datei importieren muss und immer wenn ich das tue, bekomme ich immer den gleichen Fehler.

Wie kann ich Universal Redux implementieren? Was mache ich falsch? Ich habe so viele Tutorials verfolgt und keiner von ihnen erwähnte diesen Fehler. Wie kommt es, dass er für diese Leute arbeitet, aber nicht in meiner App?

Danke für die Hilfe

Antwort

Verwandte Themen