本文基於React v16.4.1css
初學react,有理解不對的地方,歡迎批評指正^_^react
一、安裝antdwebpack
yarn add antd
二、引入 react-app-rewired (一個對 create-react-app 進行自定義配置的社區解決方案)web
yarn add react-app-rewired --dev
三、把 package.json 裏的scripts部分改成json
"scripts": { "start": "react-app-rewired start", "build": "react-app-rewired build", "test": "react-app-rewired test --env=jsdom", "eject": "react-scripts eject" },
四、在項目根目錄建立一個 config-overrides.js
用於修改默認配置數組
module.exports = function override(config, env) { // do stuff with the webpack config... return config; };
五、安裝babel-plugin-import(用於按需加載組件代碼和樣式的 babel 插件)babel
yarn add babel-plugin-import --dev
六、修改 config-overrides.js
文件antd
const { injectBabelPlugin } = require('react-app-rewired'); module.exports = function override(config, env) { config = injectBabelPlugin(['import', { libraryName: 'antd', libraryDirectory: 'es', style: 'css' }], config); return config; };
一、Layout佈局app
Layout是佈局容器,其下可嵌套 Header(頂部)、Sider(側邊欄)、Content(內容部分)、Footer(底部),也可嵌套Layout自己。dom
在App.js引入並使用Layout ,效果以下圖(css略)
import React, { Component } from 'react'; import './App.css'; import { Layout } from 'antd'; const { Header, Footer, Sider, Content } = Layout; class App extends Component { render() { return ( <Layout> <Sider>Sider</Sider> <Layout> <Header>Header</Header> <Content>Content</Content> <Footer>Footer</Footer> </Layout> </Layout> ); } } export default App;
二、Menu導航菜單
*Menu有不少參數,下面用到的有:
theme:主題,可選light、dark;
defaultSelectedKeys:初始選中的菜單項 key 數組;
mode:菜單類型,可選 vertical、
vertical-right、
horizontal、
inline,分別是垂直左、垂直右、水平、內嵌。
*Menu.Item是Menu的子項,key 是 item 的惟一標誌。
*SubMenu是子菜單,用到的參數有:
key:惟一標誌;
title:子菜單項值。
renderSiderMenu(){ return( <Menu theme="dark" defaultSelectedKeys={['1']} mode="inline"> <Menu.Item key="1"> <Icon type="pie-chart" /> <span>Option 1</span> </Menu.Item> <SubMenu key="sub1" title={<span><Icon type="user" /><span>User</span></span>} > <Menu.Item key="3">Tom</Menu.Item> <Menu.Item key="4">Bill</Menu.Item> <Menu.Item key="5">Alex</Menu.Item> </SubMenu> </Menu> ) }
<Sider> {this.renderSiderMenu()}</Sider>
效果以下圖:
其餘組件的具體用法能夠查看Ant Design官網示例。
END----------------------