Javascript Reactjs-cloneWithProps重复的类名

Javascript Reactjs-cloneWithProps重复的类名,javascript,node.js,reactjs,Javascript,Node.js,Reactjs,我有一个accordion react组件,但每次更新时,它都会创建类名的副本 我的代码: AccordionListComponent组件: componentWillReceiveProps: function(nextProps) { var accordions = this.state.accordions.map(function(accordion, i) { nextProps.children[i].props.key = accordion.key; var new

我有一个accordion react组件,但每次更新时,它都会创建类名的副本

我的代码:
AccordionListComponent组件:

componentWillReceiveProps: function(nextProps) {
var accordions = this.state.accordions.map(function(accordion, i) {
  nextProps.children[i].props.key = accordion.key;

  var newAc = clone(accordion, nextProps.children[i].props);

  return React.addons.update(accordion, {
    $set: newAc
  });
});

this.setState({
  accordions: accordions
});
},
用法:

<AccordionListComponent>
        <AccordionComponent className="date" title={dateTitle} index={0}>
          <DateComponent updateDate={this.updateDate} />
        </AccordionComponent>
</AccordionListComponent>
他们不是在删除重复项吗

谢谢。

看起来像是:

函数连接类(className/*,…*/){
if(!className){
类名=“”;
}
var nextClass;
var argLength=arguments.length;
如果(argLength>1){
对于(变量ii=1;ii
请注意,
cloneWithProps
支持新的
React.cloneElement
,它不会为您合并类或样式

Do a shallow copy of element and merge any props provided by extraProps. 
The className and style props will be merged intelligently.
function joinClasses(className/*, ... */) {
  if (!className) {
    className = '';
  }
  var nextClass;
  var argLength = arguments.length;
  if (argLength > 1) {
    for (var ii = 1; ii < argLength; ii++) {
      nextClass = arguments[ii];
      if (nextClass) {
        className = (className ? className + ' ' : '') + nextClass;
      }
    }
  }
  return className;
}