无法读取未定义的 属性 'Component'
Cannot read property 'Component' of undefined
每当我想使用 Ant design Component
时,我都会发现这个标题的错误:
antd.min.js:23 Uncaught TypeError: Cannot read property 'Component' of undefined
at Object.<anonymous> (antd.min.js:23)
at t (antd.min.js:7)
at Object.<anonymous> (antd.min.js:31)
at t (antd.min.js:7)
at Object.<anonymous> (antd.min.js:50)
at t (antd.min.js:7)
at Object.<anonymous> (antd.min.js:7)
at t (antd.min.js:7)
at antd.min.js:7
at antd.min.js:7
我用的是最新版本(3.7.3)
在这部分我使用了Layout Component
ant design:
import React, {Component} from 'react';
import ReactDOM from 'react-dom';
import { Layout, Menu, Icon } from 'antd';
const { Header, Content, Footer, Sider } = Layout;
ReactDOM.render(
<Layout>
<Sider
breakpoint="lg"
collapsedWidth="0"
onBreakpoint={(broken) => { console.log(broken); }}
onCollapse={(collapsed, type) => { console.log(collapsed, type); }}
>
<div className="logo" />
<Menu theme="dark" mode="inline" defaultSelectedKeys={['4']}>
<Menu.Item key="1">
<Icon type="user" />
<span className="nav-text">nav 1</span>
</Menu.Item>
<Menu.Item key="2">
<Icon type="video-camera" />
<span className="nav-text">nav 2</span>
</Menu.Item>
<Menu.Item key="3">
<Icon type="upload" />
<span className="nav-text">nav 3</span>
</Menu.Item>
<Menu.Item key="4">
<Icon type="user" />
<span className="nav-text">nav 4</span>
</Menu.Item>
</Menu>
</Sider>
<Layout>
<Header style={{ background: '#fff', padding: 0 }} />
<Content style={{ margin: '24px 16px 0' }}>
<div style={{ padding: 24, background: '#fff', minHeight: 360 }}>
content
</div>
</Content>
<Footer style={{ textAlign: 'center' }}>
Ant Design ©2018 Created by Ant UED
</Footer>
</Layout>
</Layout>,
document.getElementById('main'));
但不幸的是我遇到了错误,而我只是复制了 antdesign 代码。不知道是什么问题,求大神指教
我不知道 Ant 设计组件,但是根据您提供的堆栈跟踪,我可以说 antd
对象不存在.这可能是由于 antd
没有正确加载。我建议您通过尝试 console.log(antd)
或任何对象名称来检查 antd
是否正在加载。
另外,请提供相关代码,以便我们更好地帮助您。
我看不到你的代码库,但我想原因是你试图按需导入,但没有在你的项目中使用 babel-plugin-import。
请参阅文档中的 Import on Demand 部分。
如果你使用的是create-react-app,可以查看说明here。
问题出在我的 gulp 和 browserify 配置中。我试图改变我正在使用的技术,我切换到 webpack
比 gulp 有更多的好处,可以在下面的 link:
中阅读
这有点晚了,但这听起来像是打字稿错误。如果其他人遇到此更改
import React, {Component} from 'react'
至
import * as React from 'react'
如果您遇到此错误,请同时尝试这两种方法。它将起作用:
错误:
解决方案一:
import React from "react";
class Greetings extends React.Component {
render() {
return <div>working</div>;
}
}
方案二:
import React, { Component } from 'react';
class Greetings extends Component {
render() {
return <div>working</div>;
}
}
每当我想使用 Ant design Component
时,我都会发现这个标题的错误:
antd.min.js:23 Uncaught TypeError: Cannot read property 'Component' of undefined
at Object.<anonymous> (antd.min.js:23)
at t (antd.min.js:7)
at Object.<anonymous> (antd.min.js:31)
at t (antd.min.js:7)
at Object.<anonymous> (antd.min.js:50)
at t (antd.min.js:7)
at Object.<anonymous> (antd.min.js:7)
at t (antd.min.js:7)
at antd.min.js:7
at antd.min.js:7
我用的是最新版本(3.7.3)
在这部分我使用了Layout Component
ant design:
import React, {Component} from 'react';
import ReactDOM from 'react-dom';
import { Layout, Menu, Icon } from 'antd';
const { Header, Content, Footer, Sider } = Layout;
ReactDOM.render(
<Layout>
<Sider
breakpoint="lg"
collapsedWidth="0"
onBreakpoint={(broken) => { console.log(broken); }}
onCollapse={(collapsed, type) => { console.log(collapsed, type); }}
>
<div className="logo" />
<Menu theme="dark" mode="inline" defaultSelectedKeys={['4']}>
<Menu.Item key="1">
<Icon type="user" />
<span className="nav-text">nav 1</span>
</Menu.Item>
<Menu.Item key="2">
<Icon type="video-camera" />
<span className="nav-text">nav 2</span>
</Menu.Item>
<Menu.Item key="3">
<Icon type="upload" />
<span className="nav-text">nav 3</span>
</Menu.Item>
<Menu.Item key="4">
<Icon type="user" />
<span className="nav-text">nav 4</span>
</Menu.Item>
</Menu>
</Sider>
<Layout>
<Header style={{ background: '#fff', padding: 0 }} />
<Content style={{ margin: '24px 16px 0' }}>
<div style={{ padding: 24, background: '#fff', minHeight: 360 }}>
content
</div>
</Content>
<Footer style={{ textAlign: 'center' }}>
Ant Design ©2018 Created by Ant UED
</Footer>
</Layout>
</Layout>,
document.getElementById('main'));
但不幸的是我遇到了错误,而我只是复制了 antdesign 代码。不知道是什么问题,求大神指教
我不知道 Ant 设计组件,但是根据您提供的堆栈跟踪,我可以说 antd
对象不存在.这可能是由于 antd
没有正确加载。我建议您通过尝试 console.log(antd)
或任何对象名称来检查 antd
是否正在加载。
另外,请提供相关代码,以便我们更好地帮助您。
我看不到你的代码库,但我想原因是你试图按需导入,但没有在你的项目中使用 babel-plugin-import。
请参阅文档中的 Import on Demand 部分。
如果你使用的是create-react-app,可以查看说明here。
问题出在我的 gulp 和 browserify 配置中。我试图改变我正在使用的技术,我切换到 webpack
比 gulp 有更多的好处,可以在下面的 link:
这有点晚了,但这听起来像是打字稿错误。如果其他人遇到此更改
import React, {Component} from 'react'
至
import * as React from 'react'
如果您遇到此错误,请同时尝试这两种方法。它将起作用:
错误:
解决方案一:
import React from "react";
class Greetings extends React.Component {
render() {
return <div>working</div>;
}
}
方案二:
import React, { Component } from 'react';
class Greetings extends Component {
render() {
return <div>working</div>;
}
}