2017-06-12 6 views
1

反応 - ルータ - Reduxの歴史を(サンプルコードから)受け入れられていない

https://github.com/ReactTraining/react-router/tree/master/packages/react-router-redux

でREADMEの例での作業、私は私のインデックスにこのレイアウトを作成しました:

// attach the redux dev tools extension for Chrome 
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; 

// apply router logic as middleware 
const history = createHistory(); 
const router_mw = routerMiddleware(history); 


// second arg to createStore is the inital redux store state 
const store = createStore(
    reducers, 
    initialState, 
    composeEnhancers(
    applyMiddleware(
     ReduxPromise, 
     ReduxThunk, 
     router_mw 
    ) 
)); 

// --> add routes for logs, opsec, etc. later 
ReactDOM.render(
    <Provider store={ store }> 
    <ConnectedRouter history={ history }> // <- error here 
     <div> 
     <Route exact path="/" component={ LoginScreen } /> 
     <Route path="/comp1" component={ comp1 } /> 
     <Route path="/comp2" component={ comp2 } /> 
     </div> 
    </ConnectedRouter> 
    </Provider> 
    , document.getElementById('root') 
); 

コンパイルしようとすると、ConnectedRouterエントリーポイントの{history}について文句を言うでしょう:

Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in. Check your code at index.js:52. 

私は何が欠けていますか?これはreact-router-reduxレトロフィットです。react-routerに戻り(ConnectedRouterBrowserRouterに変更)、すべて正常に動作します。

答えて

0

私は[email protected]を使用しましたが、更新まで同じ問題がありました。react-router-reduxから^5.0.0-alpha.9です。

あなたが[email protected]を使用している場合は、[email protected]を使用する必要があり、それはreact-router-redux repoに言われている。

反応 - ルータ - Reduxの次のバージョンは5.0.0になり、反応-ルータ4と互換性があります。バツ。現在は積極的に開発中ですover there。お気軽にお手伝いください!

関連する問題