2017-10-10 30 views
0

최근에 React 버전을 16으로 업그레이드 했으므로 이후 Redux를 사용하는 react-router-redux가 작동하지 않습니다. 내 코드가 너무 커서 여기에 붙여 넣을 수 없습니다. 그러나 이는 https://github.com/ReactTraining/react-router/tree/master/packages/react-router-redux과 매우 유사합니다.React 16으로 업그레이드되었습니다. react-router-redux가 작동하지 않습니다.

내가 그것을 어떻게

//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') 
); 
을 를 해결할 수 있습니다 :

이 내 코드가 어떻게 생겼는지인가?

+1

무엇이 오류입니까? ??? –

+0

warning.js? 1792 : 33Warning : React.createElement : 형식이 잘못되었습니다 - 내장 된 구성 요소의 경우 문자열이 예상되거나 복합 구성 요소의 경우 클래스/함수가 있어야하지만 got : undefined입니다. 당신이 정의한 파일에서 구성 요소를 내보내는 걸 잊었을 가능성이 있습니다. –

답변

0

시도가 싶게 다시 패키지를 설치 제거, 그들은 함께 나를 위해 노력하고 있습니다 :

"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

반응 라우터 -dressx를 사용하는 반면 반응 라우터 -rexx를 사용하고있는 것으로 나타났습니다 –

+0

튜토리얼의 문제점이 오래되었습니다. 반응이 필요하지 않습니다. - 루터 - 리덕스; react-router-dom 만 사용하여 업데이트 된 자습서를 먼저 시도하십시오. react-router-redux는 베타 – stackdave

+0

입니다. 그래, 실제로이 문제가 나에게도 해결되었습니다. –

0

(16)는 아직 생산되지 않습니다 반작용과 호환 반응 - 라우터 REDUX의 버전. 알파 버전을 사용할 수 있습니다. 그들은 repo를 react-router 내에 옮겼습니다.

해당 페이지에서 설명한대로 npm install --save [email protected]을 실행하면 문제가 해결됩니다.