打造高级React组件使用Estudando、Storybook、样式化组件构建可复用按钮

组件挑战:创建可复用的关键按钮组件

在本次组件挑战中,目标是构建一个灵活的按钮组件,具备多种样式和功能,方便在各种UI中复用。

按钮样式类型

  1. 默认(Default)轮廓(Outline)文本(Text):满足基础样式需求。
  2. 禁用状态:设置禁用样式,防止交互。
  3. 阴影效果:允许选择是否添加阴影,提高视觉层次。
  4. 图标选项:按钮左侧或右侧可添加图标(至少包含5种变体)。

可自定义设置

  • 按钮尺寸:支持小、中、大等多种尺寸,以适应不同场景。
  • 颜色配置:多样的颜色选项,增强设计灵活性。
  • 交互指示:在悬停和聚焦时显示视觉提示,提升用户体验。
  • 属性访问:确保用户可以访问所有按钮属性,便于扩展功能。

项目技术需求

  • React Router:用于页面导航。
  • 主页和输入页面:展示按钮组件的实际应用。
  • Storybook:集成Storybook环境,便于组件测试与文档化。
  • Figma:提供布局图,供设计参照。

执行步骤

  1. 配置主页和输入页面,确保路由结构清晰。
  2. 使用Storybook为每个按钮状态和属性创建单独的故事。
  3. 在Figma上进行按钮布局设计,确保视觉效果符合预期。
zip
component-challenge-master.zip 预估大小:39个文件
folder
component-challenge-master 文件夹
folder
.storybook 文件夹
file
preview.js 74B
file
main.js 238B
file
package.json 2KB
folder
src 文件夹
folder
stories 文件夹
file
Button.ts 1KB
folder
Button 文件夹
file
styles.ts 2KB
file
Button.stories.tsx 2KB
file
index.tsx 1KB
folder
icons 文件夹
file
contactless.svg 1KB
file
code.svg 454B
file
account.svg 656B
file
cart.svg 988B
file
cached.svg 595B
file
circle.svg 379B
folder
images 文件夹
file
github.svg 2KB
file
styles.ts 677B
file
react-app-env.d.ts 40B
file
types.d.ts 37B
file
index.tsx 219B
folder
components 文件夹
folder
Sidebar 文件夹
file
styles.ts 1KB
file
index.tsx 1KB
folder
Home 文件夹
file
styles.ts 1014B
file
index.tsx 950B
folder
Buttons 文件夹
file
styles.ts 1KB
file
index.tsx 5KB
folder
Layout 文件夹
file
styles.ts 129B
file
index.tsx 617B
file
App.tsx 211B
file
index.css 366B
file
tsconfig.json 491B
file
.gitignore 310B
folder
public 文件夹
file
logo192.png 5KB
file
manifest.json 492B
file
robots.txt 67B
file
index.html 2KB
file
logo512.png 9KB
file
favicon.ico 3KB
file
README.md 3KB
file
yarn.lock 682KB
file
.editorconfig 131B
zip 文件大小:290.73KB