检查Render方法 [英] Check the render method
本文介绍了检查Render方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用的是REACT、REDUX和REACT-REDUX-Router。当我运行应用程序时,我得到一个错误。我不明白它与我的App.js中的Reaction的呈现函数有什么关系。在我看来,问题出在代码中的其他位置。
错误如下:
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`.
我的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;
我的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')
);
任何帮助都将不胜感激。如果您想了解更多细节,请让我知道
推荐答案
对我来说,我似乎必须删除您案例中的MemoryRouter
或ConnectedRouter
。
另外,请注意,我的问题在我的App.test.js
文件中,因此它可能不适用于OP的特定用例,但它可能会帮助那些通过Google来到这里的人。
有人能解释一下为什么这是可行的吗?
这是现在正在运行的代码:
<Provider store={store}>
<App />
</Provider>
这是原始的非工作代码:
<Provider store={store}>
<ConnectedRouter history={history}>
<App />
</ConnectedRouter>
</Provider>
这篇关于检查Render方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文