React.Addons.CreateFragment问题

时间:2015-07-01 08:32:09

标签: javascript reactjs

我们最近将React升级到0.13,这个小小的警告开始出现:

警告:任何对键控对象的使用都应该在作为子进行传递之前包装在React.addons.createFragment(object)中。

这是我的代码,试图弄清楚如何使用createFragment,但是在从this.props.children包装元素时,无法找到关于如何做到这一点的任何好例子。

在我的情况下,This.props.children将是其他应该包含在li中的React组件。你们之前有没有看过或解决过这个问题?

import React from 'react';

module.exports = React.createClass({
  displayName: "public/src/scripts/components/info-block/infoItem.js",
  propTypes: {
    label: React.PropTypes.string,
    children: React.PropTypes.any
  },
  renderChildren: function(){
    var elementsToRender = [].concat(this.props.children);

    return elementsToRender.map(function(elem, i){
      return <li key={i}>{elem}</li>
    });
  },
  render : function(){
    return (
      <li>
        <span className="ll">{this.props.label}</span>
        <span className="lr">
          <ul>
            {this.renderChildren()}
          </ul>
        </span>
      </li>
    );
  }
});

我尝试将renderChildren方法切换为:

renderChildren: function(){
  return React.Children.map(this.props.children, function(elem){
    return React.addons.createFragment({value: <li>{elem}</li>});
  });
}

然后会渲染,但我仍然会收到警告

0 个答案:

没有答案