原子设计 - 将实现组件与Atomic UI组件分离

时间:2017-12-14 09:17:00

标签: reactjs user-interface sass software-design atomic-design

开始使用原子设计方法构建新的UI库时,我们在尝试将最小的UI构建块分类为原子时很快遇到了问题。这里的示例可能是React组件,可能是<SVGComponent />。最初被归类为原子 - 很快就会发现它可能并非如此。在原子设计方面,它不适合作为原子的词汇 - 它是一个实现细节。因此<Icon />组件可能符合atom的设计分类,该组件的实现可能由<SVGComponent />组成。此类组件还有其他示例,例如<Font/>

是否有一个通用的说法来描述和分类这些组件以及原子ui库和依赖存在的位置?对此有何想法?

由于

1 个答案:

答案 0 :(得分:0)

我不是AD概念方面的专家,而是指定义:

  

原子是可能的最小组成部分,例如按钮,标题,   输入或事件调色板,动画和字体。他们可以   全局或在其他组件中应用于任何上下文,以及   模板,除了具有许多状态外,例如按钮的示例:   禁用,悬停,大小不同等。

因此,如果我正确理解<SVGComponent />的目的,我不太同意它不适合作为原子的词汇。与<Button />组件(是原子)相比,它可以自由接收'width''height''viewBox'等道具。

对于<Icon />组件,没有必要在其中组成<SVGComponent />。您可以尝试将'src'属性传递给Icon,该属性可以是多种类型之一(img src,原始svg代码等)。

我只有两美分。希望能帮助到你。