css - 样式组件组织

标签 css reactjs styled-components

<分区>

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

基本上样式组件被分配给特定组件以实现可重用性。

但是我想在其他组件(例如动画组件)中多次使用的样式组件呢? 我是否应该创建一个文件来保存这些“全局”样式组件并将其导入到许多组件中?

这是好的做法吗?

最佳答案

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

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 文件,其中包含该组件的所有样式化组件。好处是妨碍您的文件较少,但缺点是更难注意到重复,将组件移动到共享文件夹需要更多工作。

我个人经常使用第一个版本,但这可能只是个人喜好问题 — 都尝试一下,看看您更喜欢哪个!

关于css - 样式组件组织,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42987939/

相关文章:

java - 如果我想使用我知道它在大多数用户计算机中不可用的特定字体

javascript - 如何制作一个具有 2 个窗口的 Electron react 应用程序 - 一个普通的窗口和一个用于托盘的窗口

reactjs - 我们可以将点击处理程序附加到自定义子组件吗

html - 如何使用 Bootstrap 将图像居中放置在固定高度的 div 中?

jquery - 最新 firefox 版本上的 css 下拉菜单屏幕问题

javascript - 如何使此联系​​表起作用?

javascript - 使用 Rollup 解决 woff 导入问题

javascript - componentWillReceiveProps 不会在 props 更新时触发

css - styled-components:主题中的样式覆盖组件样式

javascript - 了解样式化组件组件选择器和符号