使用cloneElement

时间:2015-05-09 14:50:52

标签: javascript reactjs

使用最新的React(0.13)我试图在渲染之前使用cloneElement更改子元素的类和样式。

查看测试:https://github.com/facebook/react/blob/0.13-stable/src/classic/element/tests/ReactElementClone-test.js#L44

和其他答案:ReactJS - How to change style and class of react component?

看起来这应该是非常简单的,但是我似乎无法实现这个小提琴中所详述的所需行为:https://jsfiddle.net/69z2wepo/7924/

1 个答案:

答案 0 :(得分:1)

' className'您发送的道具正在发送到Child组件,而不是div,因此绿色'永远不会到达div

<Parent>
  <div>
    <Child className="green">
      <div className="red">#textnode</div>
    </Child>
    <Child className="green">
      <div className="red">#textnode</div>
    </Child>
  </div>
</Parent>

这是一个更新的小提示,向您展示正在发生的事情:https://jsfiddle.net/69z2wepo/7927/

这是一个可能有助于澄清更多信息的方法:http://jsfiddle.net/69z2wepo/7926/

这可能是您的意图:https://jsfiddle.net/69z2wepo/7928/
请注意{...this.props}Child的道具转移到div