WHAT - 組件庫與 Storybook

請添加圖片描述

文章目錄

  • 什么是 Storybook?
  • 使用場景舉例
  • 快速上手教程(React 為例)
    • 1. 安裝 Storybook
    • 2. 創建一個 Story(組件故事)
    • 3. 啟動 Storybook
  • 常用功能
  • 常見生態擴展
  • 示例:用 Args 和 Controls 動態控制 Props
  • 推薦資料

什么是 Storybook?

Storybook 是一個用于構建獨立組件 UI 的開發環境工具,適合 React、Vue、Angular 等現代前端框架。它允許你在不依賴項目業務的情況下,獨立開發、測試和文檔化 UI 組件

官方文檔:https://storybook.js.org/

請添加圖片描述


使用場景舉例

  • 創建和預覽組件庫(如按鈕、表單等)
  • 查看組件的不同狀態(如加載、禁用、成功)
  • 為設計師、QA 或產品經理提供組件預覽
  • 寫交互測試、可視化調試 UI 狀態

快速上手教程(React 為例)

1. 安裝 Storybook

在你的 React 項目中運行:

npx storybook@latest init

它會自動識別框架,安裝依賴,并創建 .storybook 配置目錄和示例 stories。


2. 創建一個 Story(組件故事)

假設你有一個 Button.tsx 組件,可以這樣寫 story:

// src/components/Button.tsx
import React from 'react';export const Button = ({ children, type = 'default', ...rest }) => (<button className={`btn btn-${type}`} {...rest}>{children}</button>
);
// src/components/Button.stories.tsx
import { Button } from './Button';export default {title: 'Components/Button',component: Button,
};export const Default = () => <Button>Default</Button>;
export const Primary = () => <Button type="primary">Primary</Button>;
export const Disabled = () => <Button disabled>Disabled</Button>;

3. 啟動 Storybook

npm run storybook

默認會在 http://localhost:6006 啟動一個獨立頁面,展示你定義的所有組件。


常用功能

功能說明
args控制組件的屬性(Props)
controls自動生成 UI 控件修改 props
docs自動生成組件文檔
actions捕捉事件(onClick 等)
storybook/addon-interactions編寫交互測試
mdx 支持寫 Markdown + JSX 格式文檔

常見生態擴展

  • @storybook/addon-essentials(推薦插件集合)
  • @storybook/addon-a11y(無障礙輔助)
  • storybook-addon-designs(Figma/Zeplin 設計稿預覽)
  • storybook-addon-themes(多主題切換)

示例:用 Args 和 Controls 動態控制 Props

export const Playground = (args) => <Button {...args} />;
Playground.args = {children: 'Click me',type: 'primary',disabled: false,
};

這會生成 UI 控件讓你在頁面中動態調整按鈕的 props。


推薦資料

  • 官網:https://storybook.js.org/
  • 官方文檔:https://storybook.js.org/docs/react/get-started/introduction
  • UI 測試集成(如 Playwright / Testing Library):官方有豐富支持

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/86254.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/86254.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/86254.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

魔音音樂 5.0.2 | 無損下載 同步網易云歌單UI美觀

魔音音樂是一款功能豐富的音樂播放軟件&#xff0c;提供高保真音質、智能推薦系統和用戶友好界面。其豐富的音樂庫幾乎覆蓋了所有類型的音樂&#xff0c;無論是流行歌曲還是小眾音樂&#xff0c;都能在這里找到。這款應用非常適合音樂愛好者使用&#xff0c;它不僅讓你享受高品…

云原生時代的中國答案:OLARDB、OceanBase與PostgreSQL的共生革命

以下是對阿里自研數據庫的全景式技術調查,重點梳理其產品體系、與PostgreSQL的技術關聯及發展歷程: 一、阿里自研數據庫全景圖譜 ??1. 核心自研產品?? ??數據庫名稱????類型????技術定位????與PostgreSQL關系????PolarDB??云原生分布式數據庫存儲計…

HTTP 請求方法與狀態碼

前言&#xff1a;構建可靠前端應用的 HTTP 通信基礎 在當今復雜的 Web 應用生態中&#xff0c;前端開發已遠超簡單的頁面構建&#xff0c;轉而成為與后端系統緊密交互的復雜體系。作為這一交互的核心機制&#xff0c;HTTP 協議承載著幾乎所有的前后端數據交換&#xff0c;其設…

WIFI原因造成ESP8266不斷重啟的解決辦法

一、報錯 報錯信息如下&#xff1a; 21:37:21.799 -> ets Jan 8 2013,rst cause:2, boot mode:(3,7) 21:37:21.799 -> 21:37:21.799 -> load 0x4010f000, len 3424, room 16 21:37:21.799 -> tail 0 21:37:21.799 -> chksum 0x2e 21:37:21.799 -> loa…

13.5-13.8. 計算機視覺【2】

文章目錄 13.5. 多尺度目標檢測13.5.1. 多尺度錨框13.5.2. 多尺度檢測13.5.3. 小結 13.6. 目標檢測數據集13.6.2. 讀取數據集13.6.3. 演示 13.7. 單發多框檢測&#xff08;SSD&#xff09;13.7.1. 模型13.7.1.1. 類別預測層13.7.1.2. 邊界框預測層13.7.1.3. 連結多尺度的預測13…

RSS解析并轉換為JSON的API集成指南

RSS解析并轉換為JSON的API集成指南 引言 隨著互聯網的發展&#xff0c;信息的傳播和共享變得越來越重要。RSS&#xff08;簡易信息聚合&#xff09;作為一種廣泛采用的格式&#xff0c;用于發布經常更新的內容&#xff0c;如博客文章、新聞頭條或播客等。它允許用戶訂閱這些內…

java數據類型詳解篇

1、8種基本數據類型 數據類型分類字節數內存位數是否最高位為符號位&#xff08;0正數1負數&#xff09;取值范圍&#xff08;數值形式&#xff09;取值說明byte整數類型18是-128 ~ 127-2^7 ~ 2^7 - 1 &#xff08;冪形式&#xff09;short整數類型216是-32,768 ~ 32,767-2^15…

vue 瀏覽器樣式警告:“unknown property name“

瀏覽器樣式警告&#xff1a;"unknown property name"&#xff0c;但在部分電腦上的瀏覽器又是沒有問題的。 這個問題因為沒有安裝sass或者less&#xff0c;卻直接使用了他的語法&#xff0c;比如嵌套樣式&#xff1a; body {/* 按鈕 */.el-button {background: lin…

postgresql DDL腳本

在PostgreSQL中&#xff0c;數據定義語言&#xff08;DDL&#xff09;腳本用于定義、修改或刪除數據庫的結構。DDL 操作包括創建表、修改表結構、刪除表等。以下是幾種常見的DDL操作示例以及如何在腳本中實現它們。 1. 創建表 CREATE TABLE employees (employee_id SERIAL PR…

C#語言入門-task3 :C# 語言的面向對象技術

C# 面向對象編程技術概述 C# 是一種現代化的面向對象編程語言&#xff0c;提供了豐富的特性來支持面向對象的編程范式。以下是 C# 中面向對象編程的核心概念和技術&#xff1a; 核心概念 1. 類與對象 類是對象的藍圖&#xff0c;定義了對象的屬性和行為。對象是類的實例。 …

感知框2D反投是咋回事?

一、感知框&#xff1a;“2D 框反投” 是咋回事&#xff1f;&#xff08;以自動駕駛識別車輛為例&#xff09; 1. 核心邏輯&#xff1a;從圖像特征 “反推” 目標框 簡單說&#xff0c;先用算法在 2D 圖像里識別特征&#xff08;比如車輛的輪廓、顏色、紋理&#xff09;&#…

五分鐘了解@ExcelIgnoreUnannotated注解

ExcelIgnoreUnannotated 是 EasyExcel 框架中的一個注解&#xff0c;用于控制 Excel 導入/導出時對實體類字段的處理方式。它的作用如下&#xff1a; 核心功能 忽略未標注 ExcelProperty 的字段 當添加 ExcelIgnoreUnannotated 到類上時&#xff0c;EasyExcel 會 跳過所有未顯…

Windows電腦數據恢復終極指南:從原理到實戰

Windows電腦數據恢復終極指南&#xff1a;從原理到實戰 數據丟失是每個電腦用戶都可能遭遇的噩夢。本文將為您全面解析Windows平臺下的數據恢復技術&#xff0c;從基礎原理到高級技巧&#xff0c;幫助您在文件誤刪、格式化、系統崩潰等情況下找回寶貴數據。 一、數據恢復基礎…

【網絡入侵檢測】基于Suricata源碼分析應用協議識別實現

【作者主頁】只道當時是尋常 【專欄介紹】Suricata入侵檢測。專注網絡、主機安全&#xff0c;歡迎關注與評論。 1. 概要 &#x1f44b; 本文聚焦Suricata網絡安全引擎的協議解析器實現&#xff0c;詳細剖析HTTP、SSL/TLS、FTP、SSH、SMTP等協議的解析流程。 2. 源碼分析 2.1 H…

Nginx SSL/TLS協議棧中配置深度解析與實踐指南-優雅草卓伊凡

Nginx SSL/TLS協議棧中配置深度解析與實踐指南-優雅草卓伊凡 引言&#xff1a;SSL/TLS的重要性與Nginx配置挑戰 在當今互聯網環境中&#xff0c;SSL/TLS加密已成為網站安全的基本要求。根據Google透明度報告顯示&#xff0c;截至2023年&#xff0c;全球Chrome瀏覽器加載的網頁…

C++字符串的行輸入

1、字符串的輸入 下面用一個真實的示例來進行演示&#xff1a; #include<iostream> #include<string>int main() {using namespace std;const int ArSize 20;char name[ArSize];char dessert[ArSize];cout << "Enter your name:\n";cin >>…

征服分布式系統:阿里云 Linux 多機互聯與資源共享實戰指南

征服分布式系統&#xff1a;阿里云 Linux 多機互聯與資源共享實戰指南 文章目錄 征服分布式系統&#xff1a;阿里云 Linux 多機互聯與資源共享實戰指南一、分布式系統架構概述二、阿里云網絡基礎架構解析三、多機互聯基礎配置1. 環境準備2. 網絡連通性測試3. SSH 密鑰認證配置 …

AI三步診斷心理:比ChatGPT更懂人心

用人工智能(大語言模型)輔助心理治療的研究 解決心理治療中專業人員不足的問題,提出了一種叫“思維診斷”(DoT)的方法,讓AI通過三個步驟來識別患者的“認知扭曲”(也就是負面、不合理的思維模式)。 背景:心理治療的困境 全世界約八分之一的人有心理問題,但心理咨詢師…

C++【生存游戲】開發:荒島往事 第一期

字幕君已上線...... 副字幕君已上線...... 計數君已上線...... 彩色字幕君 ( 花了重金請來的 ) 已上線...... Doge智能系統已上線...... Doge:嗨嗨我又來了&#xff01; 觀眾們......已上線&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; OK LETS GO&am…

k8s強制刪除podpvpvc和nsnamespace

k8s如何強制刪除pod&pv&pvc和ns&namespace方法 namespace、pod、pv、pvc全部處于“Terminating”狀態時&#xff0c;此時的該名稱空間下的所有控制器都已經被刪除了&#xff0c;之所以出現pod、pvc、pv、ns無法刪除&#xff0c;那是因為kubelet 阻塞&#xff0c;有…