React.JS,如何从它的孩子那里渲染一个组件

时间:2015-11-04 12:21:35

标签: javascript reactjs

我试图让两个组件的嵌套树互相调用  和

我试图制作以下嵌套组件树

<Option>
  <OptionContents>
   <Option>
     <OptionContents>
     ...
     </OptionContents>
   </Option>
  </OptionContents>
</Option>

但我得到了&#39; Option&#39; undefined,我知道它是因为在Option之前加载OptionContents会导致未定义的错误。但有没有办法实现这个目标?

2 个答案:

答案 0 :(得分:1)

如果你使用父组件,我没有看到问题,即:

<script src="http://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.5.0/fabric.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<canvas id='canvas' width="500" height="400" style="border:#000 1px solid;"></canvas>

这不会发生循环冲突..

答案 1 :(得分:1)

我想我可能会理解你要做的事情。假设你有两个组成部分:

var Option = React.createClass({
  render: function() {
    return (<li>{this.props.children}</li>);
  }
});

var OptionContents = React.createClass({
  render: function() {
    return (<div>{this.props.children}</div>);
  }
});

并且您想要使用它们(嵌套等),您应该将它们都导入到将渲染它们的组件中。

// import Option
// import OptionContents
var App = React.createClass({
  render: function() {
    return (
      <Option>
        <OptionContents>
         <Option>
           <OptionContents>
           ...
           </OptionContents>
         </Option>
        </OptionContents>
      </Option>
    );
  }
});

相反,将它们作为依赖项包含在彼此中并尝试渲染。