在下一个代码中:
return connectDropTarget(
<div style={{ ...style, backgroundColor }}>
{`Works with ${allowedDropEffect} drop effect`}
<br />
<br />
{isActive ? 'Release to drop' : 'Drag a box here'}
</div>,
)
有什么样的用途?我看不到任何声明为样式的变量。
答案 0 :(得分:3)
它的spread syntax用于复制现有style
对象的内容,然后添加/覆盖backgroundColor
属性。
const styles = {
position: 'relative',
top: 0,
left: 0
};
const backgroundColor = {
background: '#FFF'
};
const newStyles = {...styles, backgroundColor };
console.log(newStyles);
// newStyles
// {
// position: 'relative',
// top: 0,
// left: 0,
// background: '#FFF'
// }
它也可以用来覆盖现有属性,但保持其他属性不变:
const styles = {
position: 'relative',
top: 0,
left: 0,
background: '#222'
};
const backgroundColor = {
background: '#FFF'
};
const newStyles = {...styles, backgroundColor };
console.log(newStyles);
// newStyles
// {
// position: 'relative',
// top: 0,
// left: 0,
// background: '#FFF'
// }
所以它基本上是Object.assign
的es6简写。
答案 1 :(得分:1)
这意味着style
的道具将在它们存在时传递
页面中可能已存在样式和背景:
const style = {fontSize: "9px", backgroundColor: "red"};