【发布时间】:2017-12-07 09:37:45
【问题描述】:
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:类型无效 - 需要一个字符串(对于内置组件)或一个类/函数(对于复合组件),但得到:未定义。您可能忘记从定义组件的文件中导出组件。
我参考了很多我无法识别错误的答案。
【问题讨论】:
-
您正在尝试渲染不是反应组件或功能的东西。最有可能的问题是您的
App或Routes,因为它们似乎是您正在渲染的自定义。仔细检查这些文件的导出以及它们导入的任何文件。 -
就像@AustinGreco 所说,这是一个导入/导出问题。 check this
-
我不知道你解决了没有,我曾经遇到过同样的问题,发现我应用了 react-router-redux@next(5.0.0-alphaN) 的代码在旧版本的 react-router-redux 上。