看到一篇文章: https://nbsaw.surge.sh/#/post/71
作者想把
var colors = {
gray: {
default: "#DDDDDD",
light: "#EEEEEE",
dark: "#CCCCCC"
})
}
省去 default, 实现这样的效果:
const Components = styled.div`
background: ${ colors.gray }; // background: #DDDDDD
`
const Components2 = styled.div`
background: ${ colors.gray.light }; // background: #EEEEEE
`
const Components3 = styled.div`
background: ${ colors.gray.dark }; // background: #CCCCCC
`
实现的方法是这样:
const colors = {
gray: Object.assign("#DDDDDD", {
light: "#EEEEEE",
dark: "#CCCCCC"
})
}
一开始是感兴趣的,但是发现自己确实实现不了,返回的 colors.gray 是个 object, 查了下 MDN 上 Object.assign 的首个参数只能是 object, 就算不是 object 也会转成 object。
所以问题是:
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.