2017-10-10 4 views
0

J'ai récemment mis à jour la version React vers 16, et depuis lors, react-router-redux (j'utilise Redux) ne semble pas fonctionner. Mon code est trop gros pour coller ici. Cependant, il ressemble beaucoup à https://github.com/ReactTraining/react-router/tree/master/packages/react-router-redux.Mis à jour pour Réagir 16, react-router-redux ne fonctionne pas

C'est ce que mon code ressemble à:

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

Comment puis-je résoudre?

+1

Quelle est l'erreur que vous obtenez ??? –

+0

Ceci est l'erreur warning.js? 1792: 33Avertissement: React.createElement: le type est invalide - une chaîne attendue (pour les composants intégrés) ou une classe/fonction (pour les composants composites) mais obtenue: non définie. Vous avez probablement oublié d'exporter votre composant à partir du fichier dans lequel il est défini. –

Répondre

0

Désinstallez, und installer à nouveau ces paquets, ils ensemble travaillent pour moi:

"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

J'ai remarqué que vous utilisez rea-routeur-dom, alors que j'utilise reac-router-redux –

+0

problèmes avec les tutoriels sont obsolètes, vous n'avez pas besoin de réagir -router-redux; essayez d'abord un didacticiel mis à jour avec reac-router-dom. reac-router-redux est beta – stackdave

+0

Yup, cela a effectivement résolu le problème pour moi aussi. –

0

La version de réagir-routeur-redux qui est compatible avec React 16 n'est pas encore en production. Vous pouvez utiliser leur version alpha. Ils ont déplacé le repo au sein de react-router.

Comme expliqué dans leur page, l'exécution npm install --save [email protected] devrait résoudre votre problème.