Files
ant-design/docs/react/use-with-create-react-app.html
T
2017-06-09 20:15:01 +08:00

252 lines
51 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="An enterprise-class UI design language and React-based implementation">
<meta name="description" content="A set of high-quality React components">
<meta name="description" content="One of best React UI library for enterprise background">
<title>Ant Design - A UI Design Language</title>
<script>
(function() {
function isLocalStorageNameSupported() {
var testKey = 'test';
var storage = window.localStorage;
try {
storage.setItem(testKey, '1');
storage.removeItem(testKey);
return true;
} catch (error) {
return false;
}
}
// 优先级提高到所有静态资源的前面,语言不对,加载其他静态资源没意义
var pathname = location.pathname;
function isZhCN(pathname) {
return /-cn\/?$/.test(pathname);
}
function getLocalizedPathname(path, zhCN) {
var pathname = path.startsWith('/') ? path : '/' + path;
if (!zhCN) { // to enUS
return /\/?index-cn/.test(pathname) ? '/' : pathname.replace('-cn', '');
} else if (pathname === '/') {
return '/index-cn';
} else if (pathname.endsWith('/')) {
return pathname.replace(/\/$/, '-cn/');
}
return pathname + '-cn';
}
// 兼容旧的 URL `?locale=...`
var queryString = location.search;
if (queryString) {
var isZhCNConfig = queryString.indexOf('zh-CN') > -1;
if (isZhCNConfig && !isZhCN(pathname)) {
location.pathname = getLocalizedPathname(pathname, isZhCNConfig)
}
}
// 首页无视链接里面的语言设置 https://github.com/ant-design/ant-design/issues/4552
if (isLocalStorageNameSupported() && (pathname === '/' || pathname === '/index-cn')) {
var lang = (window.localStorage && localStorage.getItem('locale')) || (navigator.language.toLowerCase() === 'zh-cn' ? 'zh-CN' : 'en-US');
// safari is 'zh-cn', while other browser is 'zh-CN';
if ((lang === 'zh-CN') !== isZhCN(pathname)) {
location.pathname = getLocalizedPathname(pathname, lang === 'zh-CN');
}
}
document.documentElement.className += isZhCN(pathname) ? 'zh-cn' : 'en-us';
})()
</script>
<link rel="icon" href="https://t.alipayobjects.com/images/T1QUBfXo4fXXXXXXXX.png" type="image/x-icon">
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.cnpmjs.org/css?family=Lato:400,700|Raleway"/>
<link rel="stylesheet" type="text/css" href="/index-1.css"/>
<link rel="stylesheet" type="text/css" href="/index-2.css"/>
<style id="nprogress-style">
#nprogress { display: none }
</style>
<!--[if lte IE 10]>
<script
src="https://as.alipayobjects.com/g/component/??console-polyfill/0.2.2/index.js,media-match/2.0.2/media.match.min.js"></script>
<![endif]-->
<script>
if (!window.Intl) {
document.writeln('<script src="https://as.alipayobjects.com/g/component/intl/1.0.1/??Intl.js,locale-data/jsonp/en.js,locale-data/jsonp/zh.js">' + '<' + '/script>');
}
if (!window.Promise) {
document.writeln('<script src="https://as.alipayobjects.com/g/component/es6-promise/3.2.2/es6-promise.min.js"' + '>' + '<' + '/' + 'script>');
}
// Enable Google Analytics
if (!location.port) {
/* eslint-disable */
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();
a = s.createElement(o),
m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m)
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-72788897-1', 'auto');
ga('send', 'pageview');
/* eslint-enable */
}
</script>
<!-- Hotjar Tracking Code for ant.design -->
<script>
(function(h,o,t,j,a,r){
h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
h._hjSettings={hjid:473408,hjsv:5};
a=o.getElementsByTagName('head')[0];
r=o.createElement('script');r.async=1;
r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
a.appendChild(r);
})(window,document,'//static.hotjar.com/c/hotjar-','.js?sv=');
</script>
</head>
<body>
<div id="react-content">
<div class="page-wrapper" data-reactroot="" data-reactid="1" data-react-checksum="1983667698"><header id="header" class="clearfix" data-reactid="2"><div class="ant-row" data-reactid="3"><div class="ant-col-xs-24 ant-col-sm-24 ant-col-md-5 ant-col-lg-4" data-reactid="4"><a id="logo" href="/" data-reactid="5"><img alt="logo" src="https://t.alipayobjects.com/images/rmsweb/T1B9hfXcdvXXXXXXXX.svg" data-reactid="6"/><span data-reactid="7">Ant Design</span></a></div><div class="ant-col-xs-0 ant-col-sm-0 ant-col-md-19 ant-col-lg-20" data-reactid="8"><div id="search-box" data-reactid="9"><div class="ant-select ant-select-combobox ant-select-enabled" data-reactid="10"><div class="ant-select-selection
ant-select-selection--single" role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-expanded="false" data-reactid="11"><div class="ant-select-selection__rendered" data-reactid="12"><div style="display:block;user-select:none;-webkit-user-select:none;" unselectable="unselectable" class="ant-select-selection__placeholder" data-reactid="13">Search Components...</div><ul data-reactid="14"><li class="ant-select-search ant-select-search--inline" data-reactid="15"><div class="ant-select-search__field__wrap" data-reactid="16"><input value="" class="ant-select-search__field" data-reactid="17"/><span class="ant-select-search__field__mirror" data-reactid="18"><!-- react-text: 19 --><!-- /react-text --><!-- react-text: 20 --> <!-- /react-text --></span></div></li></ul></div><span class="ant-select-arrow" style="user-select:none;-webkit-user-select:none;" unselectable="unselectable" data-reactid="21"><b data-reactid="22"></b></span></div></div></div><button type="button" class="ant-btn ant-btn-ghost ant-btn-sm lang" data-reactid="23"><span data-reactid="24">中文</span></button><div class="ant-select-sm version ant-select ant-select-enabled" data-reactid="25"><div class="ant-select-selection
ant-select-selection--single" role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-expanded="false" tabindex="0" data-reactid="26"><div class="ant-select-selection__rendered" data-reactid="27"><div class="ant-select-selection-selected-value" title="2.11.0" style="display:block;opacity:1;" data-reactid="28">2.11.0</div></div><span class="ant-select-arrow" style="user-select:none;-webkit-user-select:none;" unselectable="unselectable" data-reactid="29"><b data-reactid="30"></b></span></div></div><ul class="ant-menu ant-menu-horizontal ant-menu-light ant-menu-root" role="menu" aria-activedescendant="" id="nav" tabindex="0" data-reactid="31"><li class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="32"><a href="/" data-reactid="33"><span data-reactid="34">Home</span></a></li><li class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="35"><a href="/docs/spec/introduce" data-reactid="36"><span data-reactid="37">Guidelines</span></a></li><li class="ant-menu-item-selected ant-menu-item" role="menuitem" aria-selected="true" data-reactid="38"><a href="/docs/react/introduce" data-reactid="39"><span data-reactid="40">Components</span></a></li><li class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="41"><a href="/docs/pattern/navigation" data-reactid="42"><span data-reactid="43">Patterns</span></a></li><li class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="44"><a href="/docs/resource/download" data-reactid="45"><span data-reactid="46">Resources</span></a></li></ul></div></div></header><div class="main-wrapper" data-reactid="47"><div class="ant-row" data-reactid="48"><div class="ant-col-xs-24 ant-col-sm-24 ant-col-md-6 ant-col-lg-4" data-reactid="49"><ul class="ant-menu ant-menu-inline aside-container ant-menu-light ant-menu-root" role="menu" aria-activedescendant="" tabindex="0" data-reactid="50"><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="51"><a href="/docs/react/introduce" data-reactid="52">Ant Design of React</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="53"><a href="/docs/react/getting-started" data-reactid="54">Getting Started</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="55"><a href="/docs/react/practical-projects" data-reactid="56">Real project with dva</a></li><li style="padding-left:24px;" class="ant-menu-item-selected ant-menu-item" role="menuitem" aria-selected="true" data-reactid="57"><a href="/docs/react/use-with-create-react-app" data-reactid="58">Use in create-react-app</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="59"><a href="/docs/react/customize-theme" data-reactid="60">Customize Theme</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="61"><a href="/changelog" data-reactid="62">Change Log</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="63"><a href="/docs/react/recommendation" data-reactid="64">Third-Party Libraries</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="65"><a href="/docs/react/i18n" data-reactid="66">Internationalization</a></li><li class="ant-menu-submenu-inline ant-menu-submenu-open ant-menu-submenu" data-reactid="67"><div style="padding-left:24px;" class="ant-menu-submenu-title" aria-expanded="true" aria-owns="Components$Menu" aria-haspopup="true" data-reactid="68"><h4 data-reactid="69">Components</h4></div><ul class="ant-menu ant-menu-inline ant-menu-sub" role="menu" aria-activedescendant="" id="Components$Menu" data-reactid="70"><li class=" ant-menu-item-group" data-reactid="71"><div class="ant-menu-item-group-title" data-reactid="72">General</div><ul class="ant-menu-item-group-list" data-reactid="73"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="74"><a href="/components/button/" data-reactid="75"><span data-reactid="76">Button</span><span class="chinese" data-reactid="77"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="78"><a href="/components/icon/" data-reactid="79"><span data-reactid="80">Icon</span><span class="chinese" data-reactid="81"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="82"><div class="ant-menu-item-group-title" data-reactid="83">Layout</div><ul class="ant-menu-item-group-list" data-reactid="84"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="85"><a href="/components/grid/" data-reactid="86"><span data-reactid="87">Grid</span><span class="chinese" data-reactid="88"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="89"><a href="/components/layout/" data-reactid="90"><span data-reactid="91">Layout</span><span class="chinese" data-reactid="92"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="93"><div class="ant-menu-item-group-title" data-reactid="94">Navigation</div><ul class="ant-menu-item-group-list" data-reactid="95"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="96"><a href="/components/affix/" data-reactid="97"><span data-reactid="98">Affix</span><span class="chinese" data-reactid="99"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="100"><a href="/components/breadcrumb/" data-reactid="101"><span data-reactid="102">Breadcrumb</span><span class="chinese" data-reactid="103"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="104"><a href="/components/back-top/" data-reactid="105"><span data-reactid="106">BackTop</span><span class="chinese" data-reactid="107"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="108"><a href="/components/dropdown/" data-reactid="109"><span data-reactid="110">Dropdown</span><span class="chinese" data-reactid="111"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="112"><a href="/components/menu/" data-reactid="113"><span data-reactid="114">Menu</span><span class="chinese" data-reactid="115"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="116"><a href="/components/pagination/" data-reactid="117"><span data-reactid="118">Pagination</span><span class="chinese" data-reactid="119"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="120"><a href="/components/steps/" data-reactid="121"><span data-reactid="122">Steps</span><span class="chinese" data-reactid="123"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="124"><a href="/components/tabs/" data-reactid="125"><span data-reactid="126">Tabs</span><span class="chinese" data-reactid="127"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="128"><div class="ant-menu-item-group-title" data-reactid="129">Data Entry</div><ul class="ant-menu-item-group-list" data-reactid="130"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="131"><a href="/components/auto-complete/" data-reactid="132"><span data-reactid="133">AutoComplete</span><span class="chinese" data-reactid="134"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="135"><a href="/components/cascader/" data-reactid="136"><span data-reactid="137">Cascader</span><span class="chinese" data-reactid="138"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="139"><a href="/components/checkbox/" data-reactid="140"><span data-reactid="141">Checkbox</span><span class="chinese" data-reactid="142"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="143"><a href="/components/date-picker/" data-reactid="144"><span data-reactid="145">DatePicker</span><span class="chinese" data-reactid="146"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="147"><a href="/components/form/" data-reactid="148"><span data-reactid="149">Form</span><span class="chinese" data-reactid="150"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="151"><a href="/components/input-number/" data-reactid="152"><span data-reactid="153">InputNumber</span><span class="chinese" data-reactid="154"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="155"><a href="/components/input/" data-reactid="156"><span data-reactid="157">Input</span><span class="chinese" data-reactid="158"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="159"><a href="/components/mention/" data-reactid="160"><span data-reactid="161">Mention</span><span class="chinese" data-reactid="162"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="163"><a href="/components/rate/" data-reactid="164"><span data-reactid="165">Rate</span><span class="chinese" data-reactid="166"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="167"><a href="/components/radio/" data-reactid="168"><span data-reactid="169">Radio</span><span class="chinese" data-reactid="170"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="171"><a href="/components/select/" data-reactid="172"><span data-reactid="173">Select</span><span class="chinese" data-reactid="174"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="175"><a href="/components/slider/" data-reactid="176"><span data-reactid="177">Slider</span><span class="chinese" data-reactid="178"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="179"><a href="/components/switch/" data-reactid="180"><span data-reactid="181">Switch</span><span class="chinese" data-reactid="182"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="183"><a href="/components/tree-select/" data-reactid="184"><span data-reactid="185">TreeSelect</span><span class="chinese" data-reactid="186"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="187"><a href="/components/time-picker/" data-reactid="188"><span data-reactid="189">TimePicker</span><span class="chinese" data-reactid="190"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="191"><a href="/components/transfer/" data-reactid="192"><span data-reactid="193">Transfer</span><span class="chinese" data-reactid="194"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="195"><a href="/components/upload/" data-reactid="196"><span data-reactid="197">Upload</span><span class="chinese" data-reactid="198"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="199"><div class="ant-menu-item-group-title" data-reactid="200">Data Display</div><ul class="ant-menu-item-group-list" data-reactid="201"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="202"><a href="/components/avatar/" data-reactid="203"><span data-reactid="204">Avatar</span><span class="chinese" data-reactid="205"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="206"><a href="/components/badge/" data-reactid="207"><span data-reactid="208">Badge</span><span class="chinese" data-reactid="209"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="210"><a href="/components/collapse/" data-reactid="211"><span data-reactid="212">Collapse</span><span class="chinese" data-reactid="213"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="214"><a href="/components/calendar/" data-reactid="215"><span data-reactid="216">Calendar</span><span class="chinese" data-reactid="217"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="218"><a href="/components/card/" data-reactid="219"><span data-reactid="220">Card</span><span class="chinese" data-reactid="221"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="222"><a href="/components/carousel/" data-reactid="223"><span data-reactid="224">Carousel</span><span class="chinese" data-reactid="225"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="226"><a href="/components/popover/" data-reactid="227"><span data-reactid="228">Popover</span><span class="chinese" data-reactid="229"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="230"><a href="/components/tooltip/" data-reactid="231"><span data-reactid="232">Tooltip</span><span class="chinese" data-reactid="233"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="234"><a href="/components/table/" data-reactid="235"><span data-reactid="236">Table</span><span class="chinese" data-reactid="237"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="238"><a href="/components/tag/" data-reactid="239"><span data-reactid="240">Tag</span><span class="chinese" data-reactid="241"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="242"><a href="/components/timeline/" data-reactid="243"><span data-reactid="244">Timeline</span><span class="chinese" data-reactid="245"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="246"><a href="/components/tree/" data-reactid="247"><span data-reactid="248">Tree</span><span class="chinese" data-reactid="249"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="250"><div class="ant-menu-item-group-title" data-reactid="251">Feedback</div><ul class="ant-menu-item-group-list" data-reactid="252"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="253"><a href="/components/alert/" data-reactid="254"><span data-reactid="255">Alert</span><span class="chinese" data-reactid="256"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="257"><a href="/components/modal/" data-reactid="258"><span data-reactid="259">Modal</span><span class="chinese" data-reactid="260"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="261"><a href="/components/message/" data-reactid="262"><span data-reactid="263">Message</span><span class="chinese" data-reactid="264"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="265"><a href="/components/notification/" data-reactid="266"><span data-reactid="267">Notification</span><span class="chinese" data-reactid="268"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="269"><a href="/components/progress/" data-reactid="270"><span data-reactid="271">Progress</span><span class="chinese" data-reactid="272"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="273"><a href="/components/popconfirm/" data-reactid="274"><span data-reactid="275">Popconfirm</span><span class="chinese" data-reactid="276"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="277"><a href="/components/spin/" data-reactid="278"><span data-reactid="279">Spin</span><span class="chinese" data-reactid="280"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="281"><div class="ant-menu-item-group-title" data-reactid="282">Other</div><ul class="ant-menu-item-group-list" data-reactid="283"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="284"><a href="/components/anchor/" data-reactid="285"><span data-reactid="286">Anchor</span><span class="chinese" data-reactid="287"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="288"><a href="/components/locale-provider/" data-reactid="289"><span data-reactid="290">LocaleProvider</span><span class="chinese" data-reactid="291"></span></a></li></ul></li></ul></li></ul></div><div class="main-container ant-col-xs-24 ant-col-sm-24 ant-col-md-18 ant-col-lg-20" data-reactid="292"><article class="markdown" data-reactid="293"><h1 data-reactid="294"><!-- react-text: 295 -->Use in create-react-app<!-- /react-text --><a class="edit-button" href="https://github.com/ant-design/ant-design/edit/master/docs/react/use-with-create-react-app.en-US.md" data-reactid="296"><i class="anticon anticon-edit" data-reactid="297"></i></a></h1><section class="markdown" data-reactid="298"><p data-reactid="299"><a href="https://github.com/facebookincubator/create-react-app" data-reactid="300"><!-- react-text: 301 -->create-react-app<!-- /react-text --></a><!-- react-text: 302 --> is one of best React application development tool, we are going to use <!-- /react-text --><code data-reactid="303"><!-- react-text: 304 -->antd<!-- /react-text --></code><!-- react-text: 305 --> within it and modify the webpack config for some customized needs.<!-- /react-text --></p></section><section class="toc" data-reactid="306"><ul data-reactid="307"><li data-reactid="308"><a class="bisheng-toc-h2" href="#Install-and-Initialization" title="Install and Initialization" data-reactid="309"><!-- react-text: 310 -->Install and Initialization<!-- /react-text --></a></li><li data-reactid="311"><a class="bisheng-toc-h2" href="#Import-antd" title="Import antd" data-reactid="312"><!-- react-text: 313 -->Import antd<!-- /react-text --></a></li><li data-reactid="314"><a class="bisheng-toc-h2" href="#Advanced-Guides" title="Advanced Guides" data-reactid="315"><!-- react-text: 316 -->Advanced Guides<!-- /react-text --></a></li><li data-reactid="317"><a class="bisheng-toc-h2" href="#Source-code-and-other-boilerplates" title="Source code and other boilerplates" data-reactid="318"><!-- react-text: 319 -->Source code and other boilerplates<!-- /react-text --></a></li></ul></section><section class="markdown" data-reactid="320"><h2 id="Install-and-Initialization" data-reactid="321"><span data-reactid="322"><!-- react-text: 323 -->Install and Initialization<!-- /react-text --></span><a href="#Install-and-Initialization" class="anchor" data-reactid="324">#</a></h2><p data-reactid="325"><!-- react-text: 326 -->We need to install <!-- /react-text --><code data-reactid="327"><!-- react-text: 328 -->create-react-app<!-- /react-text --></code><!-- react-text: 329 --> first, you may need install <!-- /react-text --><a href="https://github.com/yarnpkg/yarn/" data-reactid="330"><!-- react-text: 331 -->yarn<!-- /react-text --></a><!-- react-text: 332 --> too.<!-- /react-text --></p><pre class="language-bash" data-reactid="333"><code data-reactid="334">$ <span class="token function">npm</span> <span class="token function">install</span> -g create-react-app yarn</code></pre><p data-reactid="335"><!-- react-text: 336 -->Create a new project named <!-- /react-text --><code data-reactid="337"><!-- react-text: 338 -->antd-demo<!-- /react-text --></code><!-- react-text: 339 -->.<!-- /react-text --></p><pre class="language-bash" data-reactid="340"><code data-reactid="341">$ create-react-app antd-demo</code></pre><p data-reactid="342"><!-- react-text: 343 -->The tool will create and initialize environment and dependencies automaticly,
please try config your proxy setting or use other npm registry if any network errors happen during it.<!-- /react-text --></p><p data-reactid="344"><!-- react-text: 345 -->Then we go inside <!-- /react-text --><code data-reactid="346"><!-- react-text: 347 -->antd-demo<!-- /react-text --></code><!-- react-text: 348 --> and start it.<!-- /react-text --></p><pre class="language-bash" data-reactid="349"><code data-reactid="350">$ <span class="token function">cd</span> antd-demo
$ yarn start</code></pre><p data-reactid="351"><!-- react-text: 352 -->Open browser at <!-- /react-text --><a href="http://localhost:3000/" data-reactid="353"><!-- react-text: 354 -->http://localhost:3000/<!-- /react-text --></a><!-- react-text: 355 -->, it renders a header saying &quot;Welcome to React&quot; on the page.<!-- /react-text --></p><h2 id="Import-antd" data-reactid="356"><span data-reactid="357"><!-- react-text: 358 -->Import antd<!-- /react-text --></span><a href="#Import-antd" class="anchor" data-reactid="359">#</a></h2><p data-reactid="360"><!-- react-text: 361 -->It is the default directory structure below.<!-- /react-text --></p><pre class="language-null" data-reactid="362"><code data-reactid="363">├── README<span class="token punctuation">.</span>md
├── package<span class="token punctuation">.</span>json
├── public
│ ├── favicon<span class="token punctuation">.</span>ico
│ └── index<span class="token punctuation">.</span>html
├── src
│ ├── App<span class="token punctuation">.</span>css
│ ├── App<span class="token punctuation">.</span>js
│ ├── App<span class="token punctuation">.</span>test<span class="token punctuation">.</span>js
│ ├── index<span class="token punctuation">.</span>css
│ ├── index<span class="token punctuation">.</span>js
│ └── logo<span class="token punctuation">.</span>svg
└── yarn<span class="token punctuation">.</span>lock</code></pre><p data-reactid="364"><!-- react-text: 365 -->Now we install <!-- /react-text --><code data-reactid="366"><!-- react-text: 367 -->antd<!-- /react-text --></code><!-- react-text: 368 --> from yarn or npm.<!-- /react-text --></p><pre class="language-bash" data-reactid="369"><code data-reactid="370">$ yarn add antd</code></pre><p data-reactid="371"><!-- react-text: 372 -->Modify <!-- /react-text --><code data-reactid="373"><!-- react-text: 374 -->src/App.js<!-- /react-text --></code><!-- react-text: 375 -->, import Button component from <!-- /react-text --><code data-reactid="376"><!-- react-text: 377 -->antd<!-- /react-text --></code><!-- react-text: 378 -->.<!-- /react-text --></p><pre class="language-jsx" data-reactid="379"><code data-reactid="380"><span class="token keyword">import</span> React<span class="token punctuation">,</span> <span class="token punctuation">{</span> Component <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'react'</span><span class="token punctuation">;</span>
<span class="token keyword">import</span> Button <span class="token keyword">from</span> <span class="token string">'antd/lib/button'</span><span class="token punctuation">;</span>
<span class="token keyword">import</span> <span class="token string">'./App.css'</span><span class="token punctuation">;</span>
<span class="token keyword">class</span> <span class="token class-name">App</span> <span class="token keyword">extends</span> <span class="token class-name">Component</span> <span class="token punctuation">{</span>
<span class="token function">render</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span> <span class="token attr-name">className</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>App<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Button</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>primary<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Button<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Button</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">export</span> <span class="token keyword">default</span> App<span class="token punctuation">;</span></code></pre><p data-reactid="381"><!-- react-text: 382 -->Add <!-- /react-text --><code data-reactid="383"><!-- react-text: 384 -->antd/dist/antd.css<!-- /react-text --></code><!-- react-text: 385 --> at the top of <!-- /react-text --><code data-reactid="386"><!-- react-text: 387 -->src/App.css<!-- /react-text --></code><!-- react-text: 388 -->.<!-- /react-text --></p><pre class="language-css" data-reactid="389"><code data-reactid="390"><span class="token atrule"><span class="token rule">@import</span> <span class="token string">'~antd/dist/antd.css'</span><span class="token punctuation">;</span></span>
<span class="token selector"><span class="token class">.App</span> </span><span class="token punctuation">{</span>
<span class="token property">text-align</span><span class="token punctuation">:</span> center<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token number">...</span></code></pre><p data-reactid="391"><!-- react-text: 392 -->Ok, you now see a blue primary button displaying in page now, next you can choose any components of <!-- /react-text --><code data-reactid="393"><!-- react-text: 394 -->antd<!-- /react-text --></code><!-- react-text: 395 --> to develop your application. Visit other workflow of <!-- /react-text --><code data-reactid="396"><!-- react-text: 397 -->create-react-app<!-- /react-text --></code><!-- react-text: 398 --> at its <!-- /react-text --><a href="https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md" data-reactid="399"><!-- react-text: 400 -->User Guide <!-- /react-text --></a><!-- react-text: 401 -->.<!-- /react-text --></p><h2 id="Advanced-Guides" data-reactid="402"><span data-reactid="403"><!-- react-text: 404 -->Advanced Guides<!-- /react-text --></span><a href="#Advanced-Guides" class="anchor" data-reactid="405">#</a></h2><p data-reactid="406"><!-- react-text: 407 -->We are successfully running antd components now. But in the real world, there are still lots of problems about antd-demo.
For instance, we actually import all styles of components in the project which maybe a network perfermance issue.<!-- /react-text --></p><p data-reactid="408"><!-- react-text: 409 -->Sometimes it could be necessary to customize the default webpack config. We can achieve that by using <!-- /react-text --><code data-reactid="410"><!-- react-text: 411 -->eject<!-- /react-text --></code><!-- react-text: 412 --> script command.<!-- /react-text --></p><pre class="language-bash" data-reactid="413"><code data-reactid="414">$ yarn run <span class="token function">eject</span></code></pre><h3 id="Use-babel-plugin-import" data-reactid="415"><span data-reactid="416"><!-- react-text: 417 -->Use babel-plugin-import<!-- /react-text --></span><a href="#Use-babel-plugin-import" class="anchor" data-reactid="418">#</a></h3><p data-reactid="419"><a href="https://github.com/ant-design/babel-plugin-import" data-reactid="420"><!-- react-text: 421 -->babel-plugin-import<!-- /react-text --></a><!-- react-text: 422 --> is a babel plugin for importing components on demand (<!-- /react-text --><a href="/docs/react/getting-started#Import-on-Demand" data-reactid="423">principle</a><!-- react-text: 424 -->). After eject all config files to antd-demo, we allowed to install it and modify <!-- /react-text --><code data-reactid="425"><!-- react-text: 426 -->config/webpack.config.dev.js<!-- /react-text --></code><!-- react-text: 427 --> now.<!-- /react-text --></p><pre class="language-bash" data-reactid="428"><code data-reactid="429">$ yarn add babel-plugin-import --dev</code></pre><pre class="language-diff" data-reactid="430"><code data-reactid="431">// Process JS with Babel.
{
test: /\.(js|jsx)$/,
include: paths.appSrc,
loader: require.resolve('babel-loader'),
options: {
<span class="token inserted">+ plugins: [</span>
<span class="token inserted">+ ['import', { libraryName: 'antd', style: 'css' }],</span>
<span class="token inserted">+ ],</span>
// This is a feature of `babel-loader` for webpack (not Babel itself).
// It enables caching results in ./node_modules/.cache/babel-loader/
// directory for faster rebuilds.
cacheDirectory: true
}
},</code></pre><blockquote data-reactid="432"><p data-reactid="433"><!-- react-text: 434 -->Note: because there is no <!-- /react-text --><code data-reactid="435"><!-- react-text: 436 -->.babelrc<!-- /react-text --></code><!-- react-text: 437 --> file after config eject, so we have to put the babel option into <!-- /react-text --><code data-reactid="438"><!-- react-text: 439 -->webpack.config.js<!-- /react-text --></code><!-- react-text: 440 --> or <!-- /react-text --><code data-reactid="441"><!-- react-text: 442 -->babel<!-- /react-text --></code><!-- react-text: 443 --> field of <!-- /react-text --><code data-reactid="444"><!-- react-text: 445 -->package.json<!-- /react-text --></code><!-- react-text: 446 -->.<!-- /react-text --></p></blockquote><p data-reactid="447"><!-- react-text: 448 -->Remove the <!-- /react-text --><code data-reactid="449"><!-- react-text: 450 -->@import &#x27;~antd/dist/antd.css&#x27;;<!-- /react-text --></code><!-- react-text: 451 --> statement added before because <!-- /react-text --><code data-reactid="452"><!-- react-text: 453 -->babel-plugin-import<!-- /react-text --></code><!-- react-text: 454 --> will import styles and import components like below:<!-- /react-text --></p><pre class="language-diff" data-reactid="455"><code data-reactid="456"> // scr/App.js
import React, { Component } from 'react';
<span class="token deleted">- import Button from 'antd/lib/button';</span>
<span class="token inserted">+ import { Button } from 'antd';</span>
import './App.css';
class App extends Component {
render() {
return (
&lt;div className="App">
&lt;Button type="primary">Button&lt;/Button>
&lt;/div>
);
}
}
export default App;</code></pre><p data-reactid="457"><!-- react-text: 458 -->Then reboot <!-- /react-text --><code data-reactid="459"><!-- react-text: 460 -->yarn start<!-- /react-text --></code><!-- react-text: 461 --> and visit demo page, you should not find any <!-- /react-text --><a href="https://zos.alipayobjects.com/rmsportal/vgcHJRVZFmPjAawwVoXK.png" data-reactid="462"><!-- react-text: 463 -->warning message<!-- /react-text --></a><!-- react-text: 464 --> in console which prove the <!-- /react-text --><code data-reactid="465"><!-- react-text: 466 -->import on demand<!-- /react-text --></code><!-- react-text: 467 --> config is working now. You will find more info about it in <!-- /react-text --><a href="/docs/react/getting-started#Import-on-Demand" data-reactid="468">this guide</a><!-- react-text: 469 -->.<!-- /react-text --></p><h3 id="Customize-Theme" data-reactid="470"><span data-reactid="471"><!-- react-text: 472 -->Customize Theme<!-- /react-text --></span><a href="#Customize-Theme" class="anchor" data-reactid="473">#</a></h3><p data-reactid="474"><!-- react-text: 475 -->According to <!-- /react-text --><a href="/docs/react/customize-theme" data-reactid="476">Customize Theme documentation</a><!-- react-text: 477 -->, we need <!-- /react-text --><code data-reactid="478"><!-- react-text: 479 -->less<!-- /react-text --></code><!-- react-text: 480 --> variables modify ability of <!-- /react-text --><a href="https://github.com/webpack/less-loader" data-reactid="481"><!-- react-text: 482 -->less-loader<!-- /react-text --></a><!-- react-text: 483 -->, so we add it.<!-- /react-text --></p><pre class="language-bash" data-reactid="484"><code data-reactid="485">$ yarn add <span class="token function">less</span> less-loader --dev</code></pre><pre class="language-diff" data-reactid="486"><code data-reactid="487"> {
exclude: [
/\.html$/,
/\.(js|jsx)$/,
/\.css$/,
<span class="token inserted">+ /\.less$/,</span>
/\.json$/,
/\.bmp$/,
/\.gif$/,
/\.jpe?g$/,
/\.png$/,
],
loader: require.resolve('file-loader'),
options: {
name: 'static/media/[name].[hash:8].[ext]',
},
}
...
// Process JS with Babel.
{
test: /\.(js|jsx)$/,
include: paths.appSrc,
loader: 'babel',
options: {
plugins: [
<span class="token deleted">- ['import', [{ libraryName: 'antd', style: 'css' }]],</span>
<span class="token inserted">+ ['import', [{ libraryName: 'antd', style: true }]], // import less</span>
],
},
...
<span class="token inserted">+ // Parse less files and modify variables</span>
<span class="token inserted">+ {</span>
<span class="token inserted">+ test: /\.less$/,</span>
<span class="token inserted">+ use: [</span>
<span class="token inserted">+ require.resolve('style-loader'),</span>
<span class="token inserted">+ require.resolve('css-loader'),</span>
<span class="token inserted">+ {</span>
<span class="token inserted">+ loader: require.resolve('postcss-loader'),</span>
<span class="token inserted">+ options: {</span>
<span class="token inserted">+ ident: 'postcss', // https://webpack.js.org/guides/migrating/#complex-options</span>
<span class="token inserted">+ plugins: () => [</span>
<span class="token inserted">+ require('postcss-flexbugs-fixes'),</span>
<span class="token inserted">+ autoprefixer({</span>
<span class="token inserted">+ browsers: [</span>
<span class="token inserted">+ '>1%',</span>
<span class="token inserted">+ 'last 4 versions',</span>
<span class="token inserted">+ 'Firefox ESR',</span>
<span class="token inserted">+ 'not ie &lt; 9', // React doesn't support IE8 anyway</span>
<span class="token inserted">+ ],</span>
<span class="token inserted">+ flexbox: 'no-2009',</span>
<span class="token inserted">+ }),</span>
<span class="token inserted">+ ],</span>
<span class="token inserted">+ },</span>
<span class="token inserted">+ },</span>
<span class="token inserted">+ {</span>
<span class="token inserted">+ loader: require.resolve('less-loader'),</span>
<span class="token inserted">+ options: {</span>
<span class="token inserted">+ modifyVars: { "@primary-color": "#1DA57A" },</span>
<span class="token inserted">+ },</span>
<span class="token inserted">+ },</span>
<span class="token inserted">+ ],</span>
<span class="token inserted">+ },</span>
],</code></pre><p data-reactid="488"><!-- react-text: 489 -->We use <!-- /react-text --><code data-reactid="490"><!-- react-text: 491 -->modifyVars<!-- /react-text --></code><!-- react-text: 492 --> option of <!-- /react-text --><a href="https://github.com/webpack/less-loader#less-options" data-reactid="493"><!-- react-text: 494 -->less-loader<!-- /react-text --></a><!-- react-text: 495 --> here, you can see a green button rendered on the page after reboot start server.<!-- /react-text --></p><blockquote data-reactid="496"><p data-reactid="497"><!-- react-text: 498 -->Note, we only modified <!-- /react-text --><code data-reactid="499"><!-- react-text: 500 -->webpack.config.dev.js<!-- /react-text --></code><!-- react-text: 501 --> now, if you wish this config working on production environment, you need to update <!-- /react-text --><code data-reactid="502"><!-- react-text: 503 -->webpack.config.prod.js<!-- /react-text --></code><!-- react-text: 504 --> as well.<!-- /react-text --></p></blockquote><h2 id="Source-code-and-other-boilerplates" data-reactid="505"><span data-reactid="506"><!-- react-text: 507 -->Source code and other boilerplates<!-- /react-text --></span><a href="#Source-code-and-other-boilerplates" class="anchor" data-reactid="508">#</a></h2><p data-reactid="509"><!-- react-text: 510 -->Finally, we use antd with create-react-app successfully, you can learn these practice for your own webpack workflow too, and find more webpack config in the <!-- /react-text --><a href="https://github.com/ant-tool/atool-build/blob/master/src/getWebpackCommonConfig.js" data-reactid="511"><!-- react-text: 512 -->atool-build<!-- /react-text --></a><!-- react-text: 513 -->. (For instance, add <!-- /react-text --><a href="https://github.com/ant-tool/atool-build/blob/e4bd2959689b6a95cb5c1c854a5db8c98676bdb3/src/getWebpackCommonConfig.js#L90" data-reactid="514"><!-- react-text: 515 -->moment noParse<!-- /react-text --></a><!-- react-text: 516 --> to avoid loading all language files)<!-- /react-text --></p><p data-reactid="517"><!-- react-text: 518 -->There are a lot of great boilerplates like create-react-app in React community. There are some source code samples of importing antd in them if you encounter some problems.<!-- /react-text --></p><ul data-reactid="519"><li data-reactid="520"><p data-reactid="521"><a href="https://github.com/ant-design/create-react-app-antd" data-reactid="522"><!-- react-text: 523 -->create-react-app-antd<!-- /react-text --></a></p></li><li data-reactid="524"><p data-reactid="525"><a href="https://github.com/ant-design/react-boilerplate" data-reactid="526"><!-- react-text: 527 -->react-boilerplate/react-boilerplate<!-- /react-text --></a></p></li><li data-reactid="528"><p data-reactid="529"><a href="https://github.com/ant-design/react-starter-kit" data-reactid="530"><!-- react-text: 531 -->kriasoft/react-starter-kit<!-- /react-text --></a></p></li></ul></section><section class="markdown api-container" data-reactid="532"></section></article></div></div><div class="ant-row" data-reactid="533"><div class="ant-col-xs-24 ant-col-sm-24 ant-col-md-18 ant-col-md-offset-6 ant-col-lg-20 ant-col-lg-offset-4" data-reactid="534"><section class="prev-next-nav" data-reactid="535"><a class="prev-page" href="/docs/react/practical-projects" data-reactid="536">Real project with dva</a><a class="next-page" href="/docs/react/customize-theme" data-reactid="537">Customize Theme</a></section></div></div></div><footer id="footer" data-reactid="538"><ul data-reactid="539"><li data-reactid="540"><h2 data-reactid="541"><i class="anticon anticon-github" data-reactid="542"></i><!-- react-text: 543 --> GitHub<!-- /react-text --></h2><div data-reactid="544"><a target="_blank " href="https://github.com/ant-design/ant-design" data-reactid="545"><span data-reactid="546">Repository</span></a></div><div data-reactid="547"><a target="_blank " href="https://ant.design/docs/react/customize-theme" data-reactid="548"><span data-reactid="549">Customize Theme</span></a></div><div data-reactid="550"><a target="_blank " href="https://github.com/websemantics/awesome-ant-design" data-reactid="551"><span data-reactid="552">Awesome Ant Design</span></a></div></li><li data-reactid="553"><h2 data-reactid="554"><i class="anticon anticon-link" data-reactid="555"></i><!-- react-text: 556 --> <!-- /react-text --><span data-reactid="557">Links</span></h2><div data-reactid="558"><a href="https://design.alipay.com/" data-reactid="559"><span data-reactid="560">Ant Financial Design Platform</span></a></div><div data-reactid="561"><a href="http://mobile.ant.design" data-reactid="562">Ant Design Mobile</a><span data-reactid="563"> - </span><span data-reactid="564">Mobile UI</span></div><div data-reactid="565"><a href="http://scaffold.ant.design" data-reactid="566">Scaffolds</a><span data-reactid="567"> - </span><span data-reactid="568">Scaffold Market</span></div><div data-reactid="569"><a target="_blank" rel="noopener noreferrer" href="https://github.com/dvajs/dva" data-reactid="570">dva</a><!-- react-text: 571 --> - <!-- /react-text --><span data-reactid="572">Framework</span></div><div data-reactid="573"><a target="_blank" rel="noopener noreferrer" href="https://github.com/dvajs/dva-cli" data-reactid="574">dva-cli</a><!-- react-text: 575 --> -<!-- /react-text --><span data-reactid="576">Developer Tools</span></div><div data-reactid="577"><a target="_blank" rel="noopener noreferrer" href="https://eggjs.org/" data-reactid="578">Egg</a><span data-reactid="579"> - </span><span data-reactid="580">Enterprise Node Framework</span></div><div data-reactid="581"><a target="_blank" rel="noopener noreferrer" href="https://antv.alipay.com/" data-reactid="582">AntV</a><span data-reactid="583"> - </span><span data-reactid="584">Data Visualization</span></div><div data-reactid="585"><a target="_blank" rel="noopener noreferrer" href="http://motion.ant.design" data-reactid="586">Ant Motion</a><span data-reactid="587"> - </span><span data-reactid="588">Motion Solution</span></div><div data-reactid="589"><a target="_blank" rel="noopener noreferrer" href="http://library.ant.design/" data-reactid="590">AntD Library</a><span data-reactid="591"> - </span><span data-reactid="592">Axure library</span></div><div data-reactid="593"><a target="_blank" rel="noopener noreferrer" href="http://ux.ant.design" data-reactid="594">Ant UX</a><span data-reactid="595"> - </span><span data-reactid="596">Sitemap Template</span></div></li><li data-reactid="597"><h2 data-reactid="598"><i class="anticon anticon-customer-service" data-reactid="599"></i><!-- react-text: 600 --> <!-- /react-text --><span data-reactid="601">Community</span></h2><div data-reactid="602"><a href="/changelog" data-reactid="603"><span data-reactid="604">Change Log</span></a></div><div data-reactid="605"><a target="_blank" rel="noopener noreferrer" href="https://github.com/ant-design/ant-design/wiki/FAQ" data-reactid="606"><span data-reactid="607">FAQ</span></a></div><div data-reactid="608"><a target="_blank" rel="noopener noreferrer" href="https://gitter.im/ant-design/ant-design" data-reactid="609"><span data-reactid="610">Chat Room (中文)</span></a></div><div data-reactid="611"><a target="_blank" rel="noopener noreferrer" href="https://gitter.im/ant-design/ant-design-english" data-reactid="612"><span data-reactid="613">Chat Room (English)</span></a></div><div data-reactid="614"><a target="_blank" rel="noopener noreferrer" href="http://new-issue.ant.design/" data-reactid="615"><span data-reactid="616">Bug Report</span></a></div><div data-reactid="617"><a target="_blank" rel="noopener noreferrer" href="https://github.com/ant-design/ant-design/issues" data-reactid="618"><span data-reactid="619">Issues</span></a></div><div data-reactid="620"><a target="_blank" rel="noopener noreferrer" href="http://stackoverflow.com/questions/tagged/antd" data-reactid="621"><span data-reactid="622">StackOverflow</span></a></div><div data-reactid="623"><a target="_blank" rel="noopener noreferrer" href="https://segmentfault.com/t/antd" data-reactid="624"><span data-reactid="625">SegmentFault</span></a></div></li><li data-reactid="626"><h2 data-reactid="627"><!-- react-text: 628 -->Copyright © <!-- /react-text --><!-- react-text: 629 -->2017<!-- /react-text --></h2><div data-reactid="630"><span data-reactid="631">Created by AFUX</span></div><div data-reactid="632"><!-- react-text: 633 -->Built with <!-- /react-text --><a target="_blank" rel="noopener noreferrer" href="https://github.com/benjycui/bisheng" data-reactid="634">BiSheng</a></div></li></ul></footer></div>
</div>
<script src="/common.js"></script>
<script src="/index.js"></script>
</body>
</html>