家好,今天我們分享的是仿唯品會注冊頁面的簡單實現(xiàn)方法(單純的結(jié)構(gòu)和樣式),首先我們看下效果圖
下面是HTML結(jié)構(gòu)
下面是CSS樣式
最后再給大家分享一個知識點:——clear 清除浮動,解決“塌陷”的方法——
創(chuàng)建一個用來清除浮動的CSS樣式類(.clearfix);
.clearfix { zoom:1;}
.clearfix:after {content:".";display:block;visibility:hidden;height:0;clear:both;}
針對包裹的全是浮動元素的父級容器使用(.clearfix)
PS:詳情可參考文中部分,向我一樣的小白前期不用理解這兩行代碼意思,當(dāng)作工具使用即可!
#34;夏哉ke":quangneng.com/2557/
React 18 + TypeScript 高仿 AntD:從零到一打造組件庫
在現(xiàn)代 Web 開發(fā)中,組件庫已經(jīng)成為提高開發(fā)效率和保證項目一致性的重要工具。React 作為當(dāng)前最流行的前端框架之一,其生態(tài)中的組件庫如 Ant Design(簡稱 AntD)廣受歡迎。本文將指導(dǎo)你如何使用 React 18 和 TypeScript 從零開始打造一個類似 AntD 的組件庫。
## 一、準(zhǔn)備工作
在開始之前,確保你已經(jīng)安裝了最新版本的 Node.js 和 npm。然后,通過以下命令創(chuàng)建一個新的 React 項目:
```bash
npx create-react-app my-component-library --template typescript
```
這將創(chuàng)建一個名為 `my-component-library` 的 React + TypeScript 項目。接下來,進(jìn)入項目目錄并初始化一個 Git 倉庫:
```bash
cd my-component-library
git init
```
## 二、項目結(jié)構(gòu)
為了更好地組織代碼,我們可以按照以下結(jié)構(gòu)來規(guī)劃項目:
```
my-component-library
├── public
├── src
│ ├── components
│ │ ├── Button
│ │ │ ├── index.tsx
│ │ │ └── style.ts
│ │ └── index.ts
│ ├── hooks
│ ├── themes
│ │ ├── default
│ │ └── index.ts
│ ├── types
│ ├── utils
│ ├── index.ts
│ └── App.tsx
├── .gitignore
├── package.json
├── README.md
└── tsconfig.json
```
## 三、第一個組件:Button
我們將從創(chuàng)建一個基本的 `Button` 組件開始。在 `src/components/Button/index.tsx` 中,創(chuàng)建一個簡單的按鈕組件:
```tsx
import React from 'react';
import './style.css';
interface ButtonProps {
children: React.ReactNode;
onClick?: () => void;
}
const Button: React.FC<ButtonProps> = ({ children, onClick }) => {
return (
<button className="my-button" onClick={onClick}>
{children}
</button>
);
};
export default Button;
```
在 `src/components/Button/style.ts` 中,添加一些基本的樣式:
```ts
import './style.css';
```
在 `src/components/index.ts` 中,導(dǎo)出 `Button` 組件:
```ts
export { default as Button } from './Button';
```
## 四、樣式和主題
為了使組件庫具有更好的可定制性和一致性,我們可以使用 CSS-in-JS 庫(如 `styled-components` 或 `emotion`)來編寫樣式。這里我們以 `styled-components` 為例。
首先,安裝 `styled-components`:
```bash
npm install styled-components
```
然后,在 `src/themes/default` 目錄下創(chuàng)建一個主題文件 `index.ts`:
```ts
export const defaultTheme = {
primaryColor: '#1890ff',
secondaryColor: '#ff4d4f',
// ... 其他主題變量
};
```
接下來,使用 `styled-components` 重寫 `Button` 組件的樣式:
```tsx
import React from 'react';
import styled from 'styled-components';
import { defaultTheme } from '../../themes';
interface ButtonProps {
children: React.ReactNode;
onClick?: () => void;
}
const StyledButton = styled.button`
background-color: ${defaultTheme.primaryColor};
color: white;
border: none;
border-radius: 4px;
padding: 8px 16px;
cursor: pointer;
&:hover {
background-color: ${defaultTheme.secondaryColor};
}
`;
const Button: React.FC<ButtonProps> = ({ children, onClick }) => {
return (
<StyledButton onClick={onClick}>
{children}
</StyledButton>
);
};
export default Button;
```
## 五、類型和工具函數(shù)
為了提高代碼的健壯性和可維護性,我們可以在 `src/types` 目錄下定義一些常用的類型和接口,在 `src/utils` 目錄下封裝一些工具函數(shù)。
## 六、文檔和示例
為了方便其他開發(fā)者使用你的組件庫,你需要提供清晰的文檔和示例。可以使用 `storybook` 來搭建一個組件展示平臺。
首先,安裝 `storybook`:
```bash
npx sb init
```
然后,根據(jù)提示完成配置。在 `src/stories` 目錄下編寫組件的故事(Stories)。
## 七、打包和發(fā)布
當(dāng)組件庫開發(fā)完成后,需要將其打包成可在其他項目中使用的格式。使用 `create-react-app` 創(chuàng)建的項目已經(jīng)內(nèi)置了打包工具,你可以直接運行:
```bash
npm run build
```
這將在 `build` 目錄下生成打包后的文件。然后,你可以將這些文件發(fā)布到 npm 上:
```bash
npm publish
```
確保你已經(jīng)注冊了 npm 賬號并登錄。
## 八、總結(jié)
創(chuàng)建一個組件庫是一個復(fù)雜但非常有價值的過程。它不僅能夠提高開發(fā)效率,還能夠幫助維護項目的一致性和可維護性。通過不斷迭代和改進(jìn),你的組件庫可以成為 React 生態(tài)中的一個寶貴資源。記住,一個好的組件庫不僅僅是代碼的集合,更是社區(qū)、文檔和持續(xù)努力的結(jié)晶。
這兩天狀態(tài)不是很好 思路不行
加上有一些瑣碎的事情
沒事學(xué)學(xué)css 感覺還是挺有趣的 哈哈
?
Hello!小伙伴!
非常感謝您閱讀海轟的文章,倘若文中有錯誤的地方,歡迎您指出~
自我介紹 「?(?ˊ?ˋ)?」
昵稱:海轟
標(biāo)簽:程序猿|C++選手|學(xué)生
簡介:因C語言結(jié)識編程,隨后轉(zhuǎn)入計算機專業(yè),有幸拿過一些國獎、省獎等,已保研。目前正在學(xué)習(xí)C++/Linux(真的真的太難了~)
學(xué)習(xí)經(jīng)驗:扎實基礎(chǔ) + 多做筆記 + 多敲代碼 + 多思考 + 學(xué)好英語!
?
在這里插入圖片描述
2、復(fù)現(xiàn)效果圖
在這里插入圖片描述
Demo代碼 js
在這里插入圖片描述
wxml
在這里插入圖片描述
wxss
文章僅作為學(xué)習(xí)筆記,記錄從0到1的一個過程
希望對您有所幫助,如有錯誤歡迎小伙伴指正~
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。