use*_*407 5 reactjs react-redux react-router-redux
我正在使用react,redux和react-redux-router.当我运行一个应用程序时,我收到一个错误.我不明白它与我的App.js中的react函数有什么关系.在我看来,问题在于代码中的其他地方.
错误如下:
Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: object. Check the render method of `App`.
in App
in Router (created by ConnectedRouter)
in ConnectedRouter
in Provider
Uncaught Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object. Check the render method of `App`.
Run Code Online (Sandbox Code Playgroud)
我的javascript App文件代码如下所示.
import React from 'react';
import Header from './common/Header';
import HomePage from '../components/home/HomePage';
import Routes from '../routes';
const App = () => (
<div>
<Header />
<Routes />
</div>
)
export default App;
Run Code Online (Sandbox Code Playgroud)
我的Javascript索引文件代码如下所示
import 'babel-polyfill';
import React from 'react';
import {render} from 'react-dom';
import {Provider} from 'react-redux';
import {BrowserRouter as Router} from 'react-router-dom';
import configureStore, {history} from './store/configureStore';
import {loadProducts} from './actions/homeAction';
import routes from './routes';
import '../node_modules/bootstrap/dist/css/bootstrap.min.css';
import {ConnectedRouter} from 'react-router-redux';
import createHistory from 'history/createBrowserHistory'
import App from './components/App';
const store = configureStore();
store.dispatch(loadProducts("http://localhost:1219/portal/getProducts"));
render(
<Provider store={store}>
<ConnectedRouter history={history}>
<App />
</ConnectedRouter>
</Provider>,
document.getElementById('app')
);
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.如果您想了解更多详情,请告诉我
Gau*_*avs -1
在导入组件时,请确保在App.js文件中写入{}
像下面这样
import {Header} from './common/Header';
import {HomePage} from '../components/home/HomePage';
Run Code Online (Sandbox Code Playgroud)
这将解决该问题。
如果您有一些默认导出组件,可以在不使用 {} 的情况下提及。
像下面这样
import Header from './common/Header';
Run Code Online (Sandbox Code Playgroud)
如果一个js文件中有多个组件,可以这样写
import Header,{OtherComponent1,OtherComponent2} from './common/Header';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7265 次 |
| 最近记录: |