在我们公司,我们将原子设计用于我们的设计系统(使用 React 和 Styled Components 作为我们的样式解决方案),以便将我们的 UI 分解为原子、分子和有机体
我对何时应将原子归类为原子或是否应位于其父域内有疑问。
您可以在此Material UI Card示例中看到此类组合的示例(它不使用原子设计,但无论如何您都可以理解)。
所以,想象下面的例子,你有一个 Card Atom(因为它只是一个包装器,它返回一个带有子元素的样式化 HTML 标签):
const Card = ({children}) => <StyledWrapper>{children}</StyledWrapper>
还定义了一些与 一起使用的子级Card
,例如和CardHeader
,它们都是可选样式的包装器,如果需要,它们作为子级传递。CardBody
CardFooter
那么,在这个例子中哪种方法是正确的呢?
CardHeader
,CardBody
并且CardFooter
应该被归类为原子,在Card
域之外(意味着它的文件夹)
-- atoms
-- Card
-- CardHeader
-- CardBody
-- CardFooter
CardHeader
,CardBody
并且CardFooter
应该放在Card
域内,因为它们不可重用(意味着它们被设计为仅与Card
原子一起使用),并且应该与 一起导出Card
,所以这个例子中唯一的原子是Card
-- atoms
-- Card
-- CardHeader
-- CardBody
-- CardFooter