2017-10-10 5 views
0

Ich habe kürzlich die React-Version auf 16 aktualisiert, und seither funktioniert react-router-redux (ich benutze Redux) nicht. Mein Code ist zu groß, um ihn hier einzufügen. Es sieht jedoch sehr ähnlich zu https://github.com/ReactTraining/react-router/tree/master/packages/react-router-redux. DieseUpgrade zu React 16, react-router-redux funktioniert nicht

ist, was mein Code wie folgt aussieht:

//Combine the Epics 
const rootEpic = combineEpics(
    storeEpic, 
    shoppingListEpic, 
    landingEpic, 
    incrementalSearchEpic, 
    completedSavedShoppingEpic 
); 

const epicMiddleware = createEpicMiddleware(rootEpic, { 
    dependencies: { 
     incrementalSearchService: IncrementalSearchServiceMock 
    } 
}); 

//Combine the reducers 
const reducer = combineReducers({ 
    syncSpaceReducer, 
    routing: routerReducer 
}); 

const transitionHistory = createHistory(); 

const enhancer = compose(
    applyMiddleware(thunkMiddleware, epicMiddleware), 
    handleTransitions(transitionHistory), 
    DevTools.instrument() 
); 

const store = createStore(reducer, enhancer); 
const history = syncHistoryWithStore(browserHistory, store); 

render(
    <Provider store={store}> 
     <div> 
      <Router history={history} routes={routes} /> 
      <DevTools /> 
     </div> 
    </Provider>, 
    document.getElementById('syncspace') 
); 

Wie kann ich es lösen?

+1

Was ist der Fehler, den Sie bekommen ?? –

+0

Dies ist der Fehler warning.js? 1792: 33Warnung: React.createElement: Typ ist ungültig - erwartet eine Zeichenfolge (für integrierte Komponenten) oder eine Klasse/Funktion (für Composite-Komponenten), aber erhalten: undefiniert. Sie haben wahrscheinlich vergessen, Ihre Komponente aus der Datei zu exportieren, in der sie definiert ist. –

Antwort

0

Versuchen Sie, diese Pakete erneut zu installieren und zu deinstallieren, arbeiten sie zusammen für mich:

"react": "^16.0.0", 
    "react-dom": "^16.0.0", 
    "react-redux": "^5.0.6", 
    "react-router": "^4.2.0", 
    "react-router-dom": "^4.2.2", 
    "react-scripts": "1.0.14", 
    "redux": "^3.7.2", 
    "redux-form": "^7.0.4", 
+0

Ich bemerkte, dass Sie react-router-dom verwenden, während ich react-router-redux –

+0

Probleme mit Tutorials veraltet sind, müssen Sie nicht reagieren -Rouder-Redux; versuche erst ein aktuelles tutorial mit react-router-dom. react-router-redux ist beta – stackdave

+0

Yup, das hat das Problem auch für mich behoben. –

0

Die Version von reagieren-Router-redux, die mit 16 noch nicht in der Produktion reagieren kompatibel ist. Sie können ihre Alpha-Version verwenden. Sie haben das Repo innerhalb von react-router verschoben.

Wie auf ihrer Seite erklärt, sollte npm install --save [email protected] Ihr Problem lösen.

Verwandte Themen