React使用UI(Ant?Design)框架的詳細(xì)過(guò)程
一、專(zhuān)欄介紹
歡迎加入本專(zhuān)欄!本專(zhuān)欄將引領(lǐng)您快速上手React,讓我們一起放棄放棄的念頭,開(kāi)始學(xué)習(xí)之旅吧!我們將從搭建React項(xiàng)目開(kāi)始,逐步深入講解最核心的hooks,以及React路由、請(qǐng)求、組件封裝以及UI(Ant Design)框架的使用。讓我們一起掌握React,開(kāi)啟前端開(kāi)發(fā)的全新篇章!
二、Ant Design
antd 是基于 Ant Design 設(shè)計(jì)體系的 React UI 組件庫(kù),主要用于研發(fā)企業(yè)級(jí)中后臺(tái)產(chǎn)品。
Ant Design是螞蟻金服團(tuán)隊(duì)推出的一款企業(yè)級(jí)UI設(shè)計(jì)語(yǔ)言和React組件庫(kù),旨在為開(kāi)發(fā)者和設(shè)計(jì)師提供更優(yōu)秀、更完整的設(shè)計(jì)解決方案。它能夠滿(mǎn)足現(xiàn)代企業(yè)復(fù)雜的設(shè)計(jì)需求,以細(xì)致和完整的將用戶(hù)體驗(yàn)融入服務(wù)里,從而實(shí)現(xiàn)極致的交互效果和服務(wù)質(zhì)量。
Ant Design主要用于中后臺(tái)系統(tǒng)的使用,它提供了豐富的組件和工具,可以幫助開(kāi)發(fā)人員快速構(gòu)建出美觀、易用的界面。同時(shí),Ant Design還提供了詳細(xì)的文檔和示例,方便開(kāi)發(fā)者學(xué)習(xí)和使用。
總的來(lái)說(shuō),Ant Design是一款非常優(yōu)秀的UI設(shè)計(jì)和開(kāi)發(fā)工具,可以幫助企業(yè)和開(kāi)發(fā)者提高工作效率和質(zhì)量。
三、安裝依賴(lài)
npm install antd --save
四、使用
在React中使用UI組件通常比在Vue中更為直接和簡(jiǎn)便。當(dāng)我們?cè)赗eact中安裝好Ant Design UI框架后,我們可以在組件內(nèi)部直接引用和使用這些組件,無(wú)需像在Vue中那樣進(jìn)行額外的注冊(cè)和引入。這種簡(jiǎn)潔的組件使用方式使得開(kāi)發(fā)過(guò)程更加高效,減少了不必要的步驟,使得開(kāi)發(fā)人員能夠更快地構(gòu)建出用戶(hù)界面。
import React from 'react';
import { useAppSelector } from '../../hooks/useAppSelector';
import { selectUserInfo } from '../../store/userInfo';
import { Alert, Button, Descriptions, DescriptionsProps, message } from 'antd';
const Home: React.FC = () => {
const userInfo = useAppSelector((state) => state.userInfo);
const items: DescriptionsProps['items'] = [
{
key: '1',
label: '姓名',
children: <span>{userInfo.name}</span>,
},
{
key: '2',
label: '年齡',
children: <span>{userInfo.age}</span>,
},
];
return (
<>
<div
style={{
width: '100%',
height: '100%',
}}
>
<Alert
message="Success Tips"
description="這里是首頁(yè)Home,路由/,當(dāng)前的用戶(hù)信息是"
type="success"
showIcon
/>
<Descriptions title="User Info" items={items} />
<Button
type={'primary'}
onClick={async () => {
message.success('成功獲取用戶(hù)信息');
console.log('??????-----------------', selectUserInfo({ userInfo }).name);
}}
>
獲取用戶(hù)信息的name
</Button>
</div>
</>
);
};
export default Home;
import React from 'react';
import { useAppSelector } from '../hooks/useAppSelector';
import { useAppDispatch } from '../hooks/useAppDispatch';
import { initWhole, updateAge, updateName, updateWhole } from '../store/userInfo';
import { Button, Descriptions, DescriptionsProps, Space } from 'antd';
const ReduxDemo: React.FC = () => {
const userInfo = useAppSelector((state) => state.userInfo);
const dispatch = useAppDispatch();
const items: DescriptionsProps['items'] = [
{
key: '1',
label: '姓名',
children: <span>{userInfo.name}</span>,
},
{
key: '2',
label: '年齡',
children: <span>{userInfo.age}</span>,
},
];
return (
<>
<div>
<Descriptions items={items} />
<Space>
<Button type={'primary'} onClick={() => dispatch(initWhole())}>
初始化用戶(hù)信息
</Button>
<Button type={'primary'} onClick={() => dispatch(updateWhole({ name: '王五', age: 23 }))}>
更改用戶(hù)信息
</Button>
<Button type={'primary'} onClick={() => dispatch(updateName('張三'))}>
更改名稱(chēng)
</Button>
<Button type={'primary'} onClick={() => dispatch(updateAge(26))}>
更改年齡
</Button>
</Space>
</div>
</>
);
};
export default ReduxDemo;
五、使用表單
import React from 'react';
import { useAppSelector } from '../hooks/useAppSelector';
import { useAppDispatch } from '../hooks/useAppDispatch';
import { updateName } from '../store/userInfo';
import { Button, Checkbox, Descriptions, DescriptionsProps, Form, Input, Space } from 'antd';
const ReduxDemo: React.FC = () => {
const userInfo = useAppSelector((state) => state.userInfo);
const dispatch = useAppDispatch();
type FieldType = {
name: string;
password?: string;
remember?: string;
};
const items: DescriptionsProps['items'] = [
{
label: '用戶(hù)名',
children: <span>{userInfo.name}</span>,
},
{
label: '年齡',
children: '28',
},
];
return (
<>
<Descriptions
title="當(dāng)前用戶(hù)信息"
bordered
column={{ xs: 1, sm: 2, md: 3, lg: 3, xl: 4, xxl: 4 }}
items={items}
/>
<Form<FieldType>
name="basic"
labelCol={{ span: 8 }}
wrapperCol={{ span: 16 }}
style={{ maxWidth: 600 }}
initialValues={{ remember: true }}
onFinish={(values) => {
console.log('??????-----------------', values);
dispatch(updateName(values.name));
}}
onFinishFailed={(errorInfo) => {
console.log('??????-----------------', errorInfo);
}}
autoComplete="off"
>
<Form.Item<FieldType>
label="用戶(hù)名"
name="name"
rules={[{ required: true, message: '請(qǐng)輸入用戶(hù)名!' }]}
>
<Input />
</Form.Item>
<Form.Item<FieldType>
label="密碼"
name="password"
rules={[{ required: true, message: '請(qǐng)輸入密碼!' }]}
>
<Input.Password />
</Form.Item>
<Form.Item<FieldType>
name="remember"
valuePropName="checked"
wrapperCol={{ offset: 8, span: 16 }}
>
<Checkbox>記住我</Checkbox>
</Form.Item>
<Form.Item wrapperCol={{ offset: 8, span: 16 }}>
<Space>
<Button type="primary" htmlType="submit">
提交
</Button>
<Button type="primary" htmlType="reset">
重置
</Button>
</Space>
</Form.Item>
</Form>
</>
);
};
export default ReduxDemo;

六、總結(jié)
Ant Design還是是很重要的。它是一個(gè)成熟的前端框架,提供了豐富的組件庫(kù),包括按鈕、表單、表格、圖標(biāo)、菜單、對(duì)話(huà)框等等,可以滿(mǎn)足各種常見(jiàn)的界面需求。此外,它還支持國(guó)際化,可以根據(jù)不同的語(yǔ)言和地區(qū)自動(dòng)切換組件的文本和樣式。 因此,對(duì)于前端開(kāi)發(fā)人員來(lái)說(shuō),學(xué)習(xí)Ant Design是非常有必要的。它可以幫助你提高開(kāi)發(fā)效率和質(zhì)量,打造出令用戶(hù)滿(mǎn)意的前端應(yīng)用。同時(shí),Ant Design的活躍社區(qū)和豐富的案例教程也可以幫助你學(xué)習(xí)和交流。
本專(zhuān)欄的學(xué)習(xí)旅程已暫時(shí)告一段落,接下來(lái),我們將開(kāi)啟全新的React進(jìn)階之旅。在這個(gè)過(guò)程中,我們將深入學(xué)習(xí)使用Umi Max框架,同時(shí)掌握Ant Design Pro模板的使用精髓。對(duì)于僅僅是React初學(xué)者的你,也無(wú)需擔(dān)憂(yōu),因?yàn)榻酉聛?lái)的專(zhuān)欄內(nèi)容將寫(xiě)得深入淺出,注重實(shí)踐,以確保每位讀者都能輕松理解并掌握。期待與你共同探索React的更多精彩之處!
到此這篇關(guān)于React使用UI(Ant Design)框架的文章就介紹到這了,更多相關(guān)React使用UI框架內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- react quill中圖片上傳由默認(rèn)轉(zhuǎn)成base64改成上傳到服務(wù)器的方法
- react build 后打包發(fā)布總結(jié)
- 詳解React開(kāi)發(fā)中使用require.ensure()按需加載ES6組件
- ReactiveCocoa代碼實(shí)踐之-UI組件的RAC信號(hào)操作
- React+Ant Design開(kāi)發(fā)環(huán)境搭建的實(shí)現(xiàn)步驟
- react+ant design實(shí)現(xiàn)Table的增、刪、改的示例代碼
- React降級(jí)配置及Ant Design配置詳解
- 詳解Ant Design of React的安裝和使用方法
相關(guān)文章
react Input組件Compositionstart和Compositionend事件
這篇文章主要為大家介紹了Compositionstart和Compositionend事件之于react組件庫(kù)Input組件的坑解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
React如何利用Antd的Form組件實(shí)現(xiàn)表單功能詳解
這篇文章主要給大家介紹了關(guān)于React如何利用Antd的Form組件實(shí)現(xiàn)表單功能的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
react-beautiful-dnd拖拽排序功能的實(shí)現(xiàn)過(guò)程
這篇文章主要介紹了react-beautiful-dnd拖拽排序功能的實(shí)現(xiàn)過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
一文學(xué)會(huì)使用Remix寫(xiě)API接口
這篇文章主要為大家介紹了一文學(xué)會(huì)Remix寫(xiě)API接口實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
webpack打包react項(xiàng)目的實(shí)現(xiàn)方法
這篇文章主要介紹了webpack打包react項(xiàng)目的實(shí)現(xiàn)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
基于React實(shí)現(xiàn)搜索GitHub用戶(hù)功能
在本篇博客中,我們將介紹如何在 React 應(yīng)用中搜索 GitHub 用戶(hù)并顯示他們的信息,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-02-02

