2017-07-04 92 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(); 

我試圖從終極版的幫助下調用的API,並在表中顯示的數據。我收到這個錯誤。以上是我的index.js文件。元素類型無效:預期字符串(內置組件)或類/功能


1. 元類型無效:預期的字符串(用於內置組件)或類/功能(用於複合組件),但得到:未定義。你可能忘了您的組件從它的定義文件導出


2. React.createElement:類型無效 - 預期字符串(內置組件)或類。 /函數(對於複合組件),但得到:未定義。您可能忘記從您定義的文件中導出組件。

我提到了很多答案,我無法識別錯誤。

+0

您正在嘗試渲染不是反應組件或函數的內容。最有可能的問題是你的'App'或'Routes',因爲那些似乎是你正在渲染的自定義的。仔細檢查這些文件以及它們導入的任何文件的導出。 –

+0

就像@AustinGreco說的那樣,這是一個導入/導出問題。 [檢查這個](https://github.com/ReactTraining/react-router/issues/4477) – taha

+0

我不知道你是否解決了這個問題,我曾經遇到過同樣的麻煩,並且發現我申請了在較早版本的react-router-redux上爲下一個(5.0.0-alphaN)的react-router-redux @編碼。 – pingz

回答

5

問題在於進口報表。導入createHistory等組件時,您沒有使用花括號。

如果一個組件使用像一個默認的導出:

export default X 

然後,你可以簡單地導入它想:

import X from './X'; 

但是,如果你使用的是命名的出口,如:

export const X=1; 

然後您需要將它導入如下大括號中:

import {X} from './X'; 

所以看看你的進口。這將解決您的問題。

+0

如果在另一個文件夾中,我已經提到像這樣...從'./container/map'導入_map; export {_map as Map};我是否需要用大括號括起Map? –

+0

你可以直接編寫導出時聲明類爲:導出默認類Map {render {return();}}並導入它像導入地圖從./class –

+0

更正createHistory後,我得到這個錯誤._WEBPACK_IMPORTED_MODULE_10_history_createBrowserHistory __。createHistory不是功能 –

相關問題