2017-06-05 49 views
1

誰でもこの設定を動作させる方法を理解できますか?react - redux - routerセットアップの問題

import 'babel-polyfill'; 
    import React from 'react'; 
    import ReactDOM from "react-dom"; 
    import {Provider} from 'react-redux'; 
    import {createStore, applyMiddleware} from 'redux'; 
    import thunk from 'redux-thunk'; 
    import promise from 'redux-promise'; 
    import createLogger from 'redux-logger'; 
    import allReducers from './reducers'; 
    import App from './components/App'; 
    import createHistory from 'history/createBrowserHistory' 
    import { Route } from 'react-router-dom' 
    import { ConnectedRouter, routerMiddleware, push } from 'react-router-redux' 

    const logger = createLogger(); 

    // Create a history of your choosing (we're using a browser history in this case) 
    const history = createHistory() 

    // Build the middleware for intercepting and dispatching navigation actions 
    const middleware = routerMiddleware(history) 

    // Add the reducer to your store on the `router` key 
    // Also apply our middleware for navigating 
    const store = createStore(
    allReducers, 
    applyMiddleware(middleware, thunk, promise, logger) 
    ) 

    ReactDOM.render(
     <Provider store={store}> 
      <ConnectedRouter history={history}> 
      <div> 
       <Route exact path="/" component={App}/> 
      </div> 
      </ConnectedRouter> 
     </Provider>, 
     document.getElementById('root') 
    ); 

エラーが表示されているようです。警告:React.createElement:型が無効です - 文字列(組み込みコンポーネント用)またはクラス/関数(複合コンポーネント用)ですが、未定義です。

+0

エラーとして、 'App.js'コンポーネントファイルの最後の行に' export default App; 'を追加するのを忘れていた可能性が高いです。 – DrunkDevKek

+0

![これは私のものです](https://pbs.twimg.com/media/DBn8QE0XsAA1Ec1.jpg:large)。 –

答えて

1

Componentsの階層がすべてAppであることをデフォルトエクスポートとして適切にエクスポートしていることを確認してください。

また、あなたの所在地を調べてください。react-routerComponentsLinkコンポーネントをreact-routerモジュールからインポートしようとするのはよくある間違いですが、それはreact-router-domモジュールにのみ存在します。

0

フィードバックすべてのおかげで、ConnectedRouterは未定義でした。私は今、このインポートを正しく修正しました。