2017-07-04 9 views
1
import React from 'react'; 
import ReactDOM from 'react-dom'; 
import Map from './components/map/container/map'; 
import App from './App'; 
import './index.css'; 
import shell from './shared/utility/shell'; 
import { render } from 'react-dom' 
import { Provider } from 'react-redux' 
import { createStore, applyMiddleware, compose } from 'redux' 
import { routerMiddleware, ConnectedRouter } from 'react-router-redux' 
import thunk from 'redux-thunk' 
import createHistory from 'history/createBrowserHistory' 
import rootReducer from './reducers' 
import registerServiceWorker from './registerServiceWorker'; 
import { Routes } from './config'; 

const history = createHistory(); 
const target = document.querySelector('#root') 
const initialState = {}; 
const enhancers = []; 
const middleware = [ 
thunk, 
routerMiddleware(history) 
]; 

if (process.env.NODE_ENV === 'development') { 
const devToolsExtension = window.devToolsExtension; 

if (typeof devToolsExtension === 'function') { 
enhancers.push(devToolsExtension()); 
} 
} 
const composedEnhancers = compose(
applyMiddleware(...middleware), 
    ...enhancers 
); 
const store = createStore(
rootReducer, 
initialState, 
composedEnhancers 
); 
render(
    <Provider store={store}> 
    <ConnectedRouter history={history}> 
    <div> 
    <Routes /> 
    </div> 
    </ConnectedRouter> 
    </Provider>, 
    target 
    ) 
registerServiceWorker(); 
ReactDOM.render(<App />, document.getElementById('root')); 
registerServiceWorker(); 

を期待私はReduxのの助けを借りてからAPIを呼び出して、テーブル内のデータを表示しようとしています。私はこのエラーが発生しています。上記は私のindex.jsファイルです。エレメントタイプが無効である:(内蔵部品のための)文字列またはクラス/機能


1. エレメントタイプが無効である:(内蔵部品のための)文字列または(複合コンポーネント用)クラス/機能を期待したが得た:未定義。あなたはおそらく、それはで定義されていたファイルからコンポーネントをエクスポートするのを忘れ


2. React.createElement:タイプが無効です - (内蔵部品のための)予測文字列またはクラス。/function(複合コンポーネント用)ですが、未定義です。コンポーネントを定義したファイルからエクスポートするのを忘れた可能性があります。

私は多くの回答を参照しました。私はこのエラーを認識できません。

+0

反応しているコンポーネントまたは機能ではないものをレンダリングしようとしています。あなたがレンダリングしているカスタムのものと思われるので、問題はあなたの 'App'か' Routes'でしょう。これらのファイルとインポートするファイルからエクスポートをダブルチェックします。 @AustinGrecoのように –

+0

が言った、それはインポート/エクスポートの問題です。 [これをチェックしてください](https://github.com/ReactTraining/react-router/issues/4477) – taha

+0

私はあなたがそれを解決したかどうかわからない、私は一度同じトラブルに遭遇していた、 react-router-reduxの古いバージョンのreact-router-redux @ next(5.0.0-alphaN)のコードです。 – pingz

答えて

5

問題はインポートステートメントにあります。 createHistoryのようないくつかのコンポーネントをインポートしている間は、中括弧を使用していません。

コンポーネントは次のようにデフォルトのエクスポートを使用している場合:

export default X 

次に、あなたは、単にそれが好きでインポートすることができます。

import X from './X'; 

しかし、あなたのような名前の輸出を使用している場合:

export const X=1; 

次に、中括弧でインポートする必要があります。

import {X} from './X'; 

あなたの輸入品を見てください。これにより、問題が解決されます。

+0

別のフォルダに私がこのように言及していると... import _map from './container/map'; エクスポート{_map as Map};中括弧で囲む必要がありますか? –

+0

クラスを宣言するときに、直接エクスポートを書き込むことができます:export default class Map {render {return();}}インポートマップのように./class –

+0

からインポートします。createHistoryを修正した後、私はこのerror._WEBPACK_IMPORTED_MODULE_10_history_createBrowserHistory __を取得しています。機能 –