Wei Zhu edited this page Jul 10, 2018 · 45 revisions

Search in the questions about React first: https://reactfaq.site


Are you going to provide Vue(etc...) edition?

No, but the LICENSE of ant-design is MIT. So, you can try to implement it with ant-design's style, like: vue-beauty) or antue.

Are you going to provide Sass/Stylus(etc...) style file?

No, actually, you can convert Less to Sass/Stylus(etc...) with tools (which you can Google).

Are you going to provide CoffeeScript(etc...) script file?

No, actually, CoffeeScript(etc...) works fine with JavaScript library.

How to use antd with webpack2?

See: https://github.com/ant-design/ant-design/issues/4491

Select Dropdown DatePicker TimePicker Popover Popconfirm will disappear when I click another popup component inside it, How to resolve it?

Use <Select getPopupContainer={trigger => trigger.parentNode}> to render component inside Popover. (Or other getXxxxContainer props)

https://ant.design/components/select/#Select-props

related issue: #3487 #3438

Select Dropdown DatePicker TimePicker Popover Popconfirm will scroll with page?

Use <Select getPopupContainer={trigger => trigger.parentNode}> to render component inside the scroll area. (Or other getXxxxContainer props)

https://ant.design/components/select/#Select-props

related issue: #3487 #3438

How to modify antd's colour scheme?

See: https://ant.design/docs/react/customize-theme .

Would you supply other themes?

No, we follow Ant Design specification. https://github.com/ant-design/ant-design/issues/1241

How to modify Menu/Button(etc...)'s style?

You can override its style. But we don't recommend to do so. ant-design is not only a set of React components, but also a design specification.

I just want to use Menu/Button(etc...), but it seems that I have to import the whole antd and its style.

Try babel-plugin-import, or import what you need in this way:

import Menu from 'antd/lib/menu';
import 'antd/lib/button/style/css';

or (ES6 way):

import { Menu, Breadcrumb, Icon } from 'antd';

How to optimize momentjs bundle size with webpack?

See: https://github.com/jmblog/how-to-optimize-momentjs-with-webpack

It doesn't work when I change defaultValue dynamically.

The defaultXxxx (like defaultValue) of Input/Select(etc...) only works in first render. It is a specification of React, please read React's documentation.

I set the value of Input/Select(etc...), and then, it cannot be changed by user's action.

Try defaultValue or onChange to change value, and please read React's documentation.

antd override my global styles!

Yes, antd is designed to develop a complete background application, we override some global styles for styling convenience and it can't be removed now. More info trace https://github.com/ant-design/ant-design/issues/5851 .

I cannot install antd and antd's dependencies(etc...). FYI, I live in C mainland.

Long live the Girl Friend Wall! And try cnpm.

I set dependencies.antd as git repository in package.json, but it doesn't work.

Yes, please install antd with npm. If you want to install the latest version, try npm install antd@beta.

message and notification is lower case, but other components are capitalized. Typo?

No, as message is just a function, not a React Component.

It seems that antd doesn't support server rendering.

Yes, and we have no plan & time to officially support it now.

Also, we fixed lots of issues about server rendering reported by community after 1.x and we will continue to do this.

https://github.com/ant-design/ant-design/issues/215#issuecomment-203791164

We support it after antd@2.0.0!

antd doesn't work well in mobile.

Please check And Design Mobile for details. antd has not been optimized to do so. You may try react-component, those repositories which start with 'm-' 'rn-' are designed for mobile.

Does antd supply standalone files like 'react' do?

Yep, you can import antd with script tag. But we recommend use npm to import antd, it is simple and ease to maintain.

I can't visit icon in my network environment.

You should deploy the iconfont files to your network by following this example. #1070

How to extend antd's components?

If you need some features which should not be included in antd, try to extend antd's component with HOC. more

How to spell Ant Design correctly?

  • Ant Design: Capitalized with space, for the design language
  • antd: all lowercase, for the React UI library

Here are some typical wrong examples:

  • ❌ AntD
  • ❌ antD
  • ❌ Antd
  • ❌ ant design
  • ❌ AntDesign
  • ❌ antdesign
  • ❌ Antdesign

Does you guys have any channel for donation? like paypal or alipay.

No yet.

Why not?

Alibaba will pay us.


Errors & Warnings

Here are some errors & warnings that you may meet while using antd, but most of them are not bugs of antd.

Adjacent JSX elements must be wrapped in an enclosing tag

An answer from StackOverflow, and please read React's documentation.

React.createElement: type should not be null, undefined, boolean, or number. It should be a string (for DOM elements) or a ReactClass (for composite components)

Please make sure that you import antd's components correctly. Read the corresponding documentation of the antd's version which you use. And pay attention to typo.

rm is not recognized as an internal or external command

Please read this issue, or try Linux/Unix.

Failed propType: Invalid prop AAA of type BBB supplied to CCC, expected DDD. Check the render method of EEE.

Please read the corresponding documentation of the antd's version which you use, and make sure that you pass value with correct type to antd's components,

Unknown option: xxx/package.json.presets

An answer from Stack Overflow.

Invariant Violation: findComponentRoot(...): Unable to find element.

You may import React twice. Set React & ReactDOM as external, if you are using webpack, See: #525. If you are using others(browserify, etc...), please read its documentation and find options which can set React & ReactDOM as external.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.