打造高级React组件使用Estudando、Storybook、样式化组件构建可复用按钮
组件挑战:创建可复用的关键按钮组件
在本次组件挑战中,目标是构建一个灵活的按钮组件,具备多种样式和功能,方便在各种UI中复用。
按钮样式类型
- 默认(Default)、轮廓(Outline) 和 文本(Text):满足基础样式需求。
 - 禁用状态:设置禁用样式,防止交互。
 - 阴影效果:允许选择是否添加阴影,提高视觉层次。
 - 图标选项:按钮左侧或右侧可添加图标(至少包含5种变体)。
 
可自定义设置
- 按钮尺寸:支持小、中、大等多种尺寸,以适应不同场景。
 - 颜色配置:多样的颜色选项,增强设计灵活性。
 - 交互指示:在悬停和聚焦时显示视觉提示,提升用户体验。
 - 属性访问:确保用户可以访问所有按钮属性,便于扩展功能。
 
项目技术需求
- React Router:用于页面导航。
 - 主页和输入页面:展示按钮组件的实际应用。
 - Storybook:集成Storybook环境,便于组件测试与文档化。
 - Figma:提供布局图,供设计参照。
 
执行步骤
- 配置主页和输入页面,确保路由结构清晰。
 - 使用Storybook为每个按钮状态和属性创建单独的故事。
 - 在Figma上进行按钮布局设计,确保视觉效果符合预期。
 
                            
                            component-challenge-master.zip
                            预估大小:39个文件
                        
                        
                        
                                
                                component-challenge-master
                                文件夹
                            
                                                        
                                
                                .storybook
                                文件夹
                            
                                                        
                                
                                preview.js
                                74B
                            
                                                        
                                
                                main.js
                                238B
                            
                                                        
                                
                                package.json
                                2KB
                            
                                                        
                                
                                src
                                文件夹
                            
                                                        
                                
                                stories
                                文件夹
                            
                                                        
                                
                                Button.ts
                                1KB
                            
                                                        
                                
                                Button
                                文件夹
                            
                                                        
                                
                                styles.ts
                                2KB
                            
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                            
                            
                                                        
                                        
                                    文件大小:290.73KB
                                
                                
                                
                            
评论区