以下三种获取颜色的方法:
const primary = red[500]; // #F44336
const accent = purple['A200']; // #E040FB
const accent = purple.A200; // #E040FB
(替代方法)
但是我不知道它们之间有什么不同? 而我们应该使用哪一个呢?
答案 0 :(得分:0)
下面三种方式获得颜色[...]它们之间有什么区别?
如果“他们”是指获得颜色的方法...
正如您所指出的,获得颜色的方法(purple['A200']
与purple.A200
)是等效的。它源于可以通过键([]
)访问JavaScript对象中的属性的事实,反之亦然。但是,属性不能以数字开头,因此red.500
不起作用。
如果“它们”表示颜色值...
值在https://material.io/design/color/#tools-for-picking-colors处定义。
我们应该使用哪个?
如果“一个”指的是颜色...
您应该使用适合应用程序叙述的颜色(由应用程序的图形或UI设计师选择),或者找出适合自己的颜色,最适合您。
首先阅读this,以了解颜色在Material Design中的工作原理。
如果“一个”是指方法...
使用任何适合您的方法。这是您的代码。在两种情况下,它产生相同的结果。我可能会选择[]
语法,因为它既适用于常规颜色也适用于强调色,并且我希望代码保持一致。