有時(shí)候你需要給組件設(shè)置多個(gè)屬性,你不想一個(gè)個(gè)寫下這些屬性,或者有時(shí)候你甚至不知道這些屬性的名稱,這時(shí)候 spread attributes 的功能就很有用了。
比如:
var props = {};
props.foo = x;
props.bar = y;
var component = <Component {...props} />;
props 對象的屬性會(huì)被設(shè)置成 Component 的屬性。
屬性也可以被覆蓋:
var props = { foo: 'default' };
var component = <Component {...props} foo={'override'} />;
console.log(component.props.foo); // 'override'
寫在后面的屬性值會(huì)覆蓋前面的屬性。
... 操作符The
...operator (or spread operator) is already supported for arrays in ES6. There is also an ES7 proposal for Object Rest and Spread Properties.