import React from 'react';
import ReactDOM from 'react-dom';
import { createStore } from 'redux';
import createHistory from 'history/createBrowserHistory';
import { Provider } from 'react-redux';
import ConnectedRouter from 'react-router-redux';
import { Route, Switch } from 'react-router';
import Home from "./pages/Home";
import Register from "./pages/Register";
import CourseManagerDashboard from "./pages/CourseManagerDashboard";
import CourseDetail from "./pages/CourseDetail";
import App from './app/App';
import LoginForm from './components/LoginForm';
const store = createStore(
state => state
);
const history = createHistory();
ReactDOM.render((
<Provider store={store}>
<ConnectedRouter history={history}>
<Switch>
<Route name="home" exact path="/" component={Home} />
<Route name="register" path="/register" component={Register} />
<Route name="course-manager-dashboard" path="/course-manager-dashboard" component={CourseManagerDashboard} />
<Route name="course-detail" path="/course-detail" component={CourseDetail} />
<Route name="login" path="/login" component={LoginForm} />
<Route path="/" component={App} />
</Switch>
</ConnectedRouter>
</Provider>
),document.getElementById('app'));
获取以下错误:
元素类型无效:应为字符串(对于内置组件)或类/函数(对于复合组件),但得到:未定义。您可能忘记从定义组件的文件中导出组件,或者您可能混淆了默认导入和命名导入。无法跟踪问题的确切位置。
4条答案
按热度按时间h4cxqtbf1#
我知道这听起来可能很傻,但是请尝试使用一个简单的
console.log
来检查所有导入的组件:将此放在
ReactDOM.render
之前,const history = createHistory();
之后包含
undefined
得行导致了此问题.5ssjco0h2#
在我的例子中,导入是正确的,我只需要删除导入部分中导入类名周围的大括号
以前是
import {DropDownPicker} from 'react-native-dropdown-picker';
我只需要去掉
DropDownPicker
周围的括号zynd9foi3#
请检查您的导入和使用过的组件。确保它们中的任何一个都不是完全空白的。
7dl7o3gd4#
只需从组件导入文件中删除{}(大括号)。