gpt4 book ai didi

reactjs - React.createElement : type is invalid -- expected a string

转载 作者:行者123 更新时间:2023-12-03 12:54:20 30 4
gpt4 key购买 nike

尝试让react-router (v4.0.0) 和react-hot-loader (3.0.0-beta.6) 正常运行,但在浏览器控制台中出现以下错误:

Warning: React.createElement: type is invalid -- expected a string
(for built-in components) or a class/function (for composite
components) but got: undefined. You likely forgot to export your
component from the file it's defined in.

index.js:

import React from 'react';
import ReactDom from 'react-dom';
import routes from './routes.js';
require('jquery');
import 'bootstrap/dist/css/bootstrap.min.css';
import 'bootstrap/dist/js/bootstrap.min.js';
import './css/main.css';

const renderApp = (appRoutes) => {
ReactDom.render(appRoutes, document.getElementById('root'));
};

renderApp( routes() );

routes.js:

import React from 'react';
import { AppContainer } from 'react-hot-loader';
import { Router, Route, browserHistory, IndexRoute } from 'react-router';
import store from './store/store.js';
import { Provider } from 'react-redux';
import App from './containers/App.jsx';
import Products from './containers/shop/Products.jsx';
import Basket from './containers/shop/Basket.jsx';

const routes = () => (

<AppContainer>
<Provider store={store}>
<Router history={browserHistory}>
<Route path="/" component={App}>
<IndexRoute component={Products} />
<Route path="/basket" component={Basket} />
</Route>
</Router>
</Provider>
</AppContainer>

);

export default routes;

最佳答案

大多数情况下,这是由于导出/导入不正确造成的。

常见错误:

// File: LeComponent.js
export class LeComponent extends React.Component { ... }

// File: App.js
import LeComponent from './LeComponent';

可能的选择:

// File: LeComponent.js 
export default class LeComponent extends React.Component { ... }

// File: App.js
import LeComponent from './LeComponent';

有几种情况可能会导致错误,但该错误是由于每次 60% 的情况下导入/导出不匹配造成的。

编辑

通常,您应该获得一个堆栈跟踪,指示故障发生的大致位置。这通常紧接在您原始问题中的消息之后。

如果它没有显示,可能值得调查原因(这可能是您缺少的build设置)。无论如何,如果它没有显示,唯一的行动方案就是缩小导出/导入失败的范围。

遗憾的是,在没有堆栈跟踪的情况下,唯一的方法是手动删除每个模块/子模块,直到不再出现错误为止,然后重新回到堆栈。

编辑2

根据评论,确实是导入问题,具体是导入了一个不存在的模块

关于reactjs - React.createElement : type is invalid -- expected a string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42813342/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com