我想在我的应用程序中使用样式化的组件,我想知道如何组织它.

基本上,样式化的组件被分配给特定的组件以实现重用.

但是我想在其他组件(例如动画组件)中多次使用的样式化组件呢?

这是个好习惯吗?

推荐答案

这就是我用样式化组件构建的大多数大型生产应用程序的外观:

src
├── App
│   ├── Header
│   │   ├── Logo.js    
│   │   ├── Title.js   
│   │   ├── Subtitle.js
│   │   └── index.js
│   └── Footer
│       ├── List.js
│       ├── ListItem.js
│       ├── Wrapper.js
│       └── index.js
├── shared
│   ├── Button.js
│   ├── Card.js
│   ├── InfiniteList.js
│   ├── EmojiPicker
│   └── Icons
└── index.js

App文件夹包含构成更大应用程序的所有特定组件.(你可以在你真正的应用程序中通过路由来构造它)这些较大的组件中的每一个都是一个文件夹,其中包含一个index.js文件和一组单独文件中的样式化组件.

当我在构建我的应用程序时,我注意到我需要一个样式化的组件,从一个更大的组件到另一个更大的组件,我把它的文件拖到shared/文件夹,更新所有导入,就这样!随着时间的推移,shared/将成为一个即兴模式库,其中包含我希望/需要在整个应用程序中重用的所有组件.

另一种相当常见的方法是在组件文件夹中包含style.js个文件,其中包含该组件的所有样式化组件.好的一面是,你有更少的文件挡着你的路,但坏的一面是,它更难注意到重复和移动组件到共享文件夹是更多的工作.

我个人经常使用第一个版本,但这可能只是口味的问题.试一下,看看你更喜欢哪一个!

Reactjs相关问答推荐

CreateBrowserRouter将props 传递给父组件以验证权限

ReactJs;Reaction-Hook-Form:仅当 Select 了特定 Select 列表选项时才显示文本输入

关于同一位置的不同组件实例的react S规则被视为相同组件

如何使数据库数据在第一次呈现时显示?

一键MUI导出

Google Firestore无法读取图像-react

React,当我调用handleSubmit()函数时,我正在将application/json和multiform/data中的数据发送到后端,但student_image中没有数据:null

useEffect不重新渲染

如何在我的 React 应用程序中仅显示我的 Register 组件

React 错误: 只能用作 元素的子元素,从不直接渲染.请将您的 包裹在

如何使用react-router-dom保护嵌套在受保护路由中的嵌套路由?

无法在 NextJS 中获取嵌套对象

React-router-dom的链接不改变路由(ReactRouter6)

Syncfusion:带有 TabItemsDirective 的选项卡组件不显示任何内容

是否可以直接在 jsx 标签上使用 CSS 定义的 colored颜色 ?

无法读取未定义的属性(阅读 'editQuoteModalShown')reactredux

React - 如何重定向页面以显示数据修改?

如何在 JS 中绘制具有不同笔画宽度的样条线

Recharts 笛卡尔网格 - 垂直线和水平线的不同样式

如何不旋转 mui 自动完成弹出图标?