2017-09-11 101 views
1

我想动态传递的背景颜色,并希望在组件中设置这样传递价值reactjs

<Paper style={circleStyle} zDepth={1} circle={true}> V </Paper> 

const circleStyle = { 
    .... 
    background: '#00AA90', 
    ..... 
}; 

在这里,在这个例子中我想通过背景色动态如何做到这一点,我circleStyle还有其他款式吗?

PS:如果我使用ClassName在那种情况下也不工作的动态值,任何想法?

+0

是的,我知道,但是在这个例子中,我使用静态背景颜色,但我想要一个动态的。 –

+0

你的意思是你想传递的颜色与circleStyle一样正确吗? –

+0

您是否尝试过使用'var'而不是'const'?这是一个悬而未决的问题吗? –

回答

1

写这样的:

style={{...circleStyle, backgroundColor: 'red'}} 

或者

style={ Object.assign({}, circleStyle, {backgroundColor: 'red'}) } 

现在的风格会得到一个新的对象将包含circleStyle值以及backgroundColor

检查这个片段:

let obj = {a: 1, b: 2}; 
 

 
let newObj = {...obj};  //equivalent to Object.assign({}, obj) 
 

 
console.log('newObj = ', newObj);

检查这个答案为更多细节Spread Operator (...)

What do these three dots in React do?

+0

可以请告诉如果我想添加样式基于媒体查询?像我们使用sepred操作符将应用所有设备,但如果我想申请一些风格使用媒体查询? –

+0

不确定媒体查询,用css高度不舒服:) –