Javascript ReactJS Component.render()函数的适当返回类型是什么?

Javascript ReactJS Component.render()函数的适当返回类型是什么?,javascript,reactjs,Javascript,Reactjs,具有明显返回渲染节点数组的渲染: // tutorial10.js var CommentList = React.createClass({ render: function() { var commentNodes = this.props.data.map(function (comment) { return ( <Comment author={comment.author}> {comment.text}

具有明显返回渲染节点数组的渲染:

// tutorial10.js
var CommentList = React.createClass({
  render: function() {
    var commentNodes = this.props.data.map(function (comment) {
      return (
        <Comment author={comment.author}>
          {comment.text}
        </Comment>
      );
    });
    return (
      <div className="commentList">
        {commentNodes}
      </div>
    );
  }
});
//tutorial10.js
var CommentList=React.createClass({
render:function(){
var commentNodes=this.props.data.map(函数(注释){
返回(
{comment.text}
);
});
返回(
{commentNodes}
);
}
});

组件的render()方法的可接受返回类型是什么?数组似乎可以工作?那么一组数组呢?如果数据存储在代码数组中,如何适当地呈现网格?

您必须始终返回一个react组件,但该组件的内容(只要它们是有效的jsx语法)可以是一个数组,一个包含react组件的数组。例如

var MyComponent = React.createClass({
  render: function () {
    var single = <p>Single</p>;
    var array = [
      <p>One</p>,
      [<p>Two</p>],
      [<p>Three</p>]
    ];

    return (
      <div>
        {single}
        {array}
      </div>
    );
  }
});

React.render(<MyComponent />, document.body);
var MyComponent=React.createClass({
渲染:函数(){
单一风险值=单一

; 变量数组=[ 一个, 两个, 三个 ]; 返回( {single} {array} ); } }); React.render(,document.body);


通常,您会获取数据,对其进行迭代(不管有多深)并生成组件。在这种情况下,其他“功能”帮助程序尤其有用。

如果您检查文档,您将看到您只能从渲染返回组件或null/false

render()方法是必需的。调用时,它应该检查this.props和this.state,并返回一个 单子组件。此子组件可以是虚拟组件或虚拟组件 本机DOM组件(如或)的表示形式 React.DOM.div()或您定义的另一个复合组件 你自己

您也可以返回null或false来表示您不需要 渲染的任何内容。在幕后,React渲染标记 使用我们当前的差分算法。返回null或 false,此.getDOMNode()将返回null。“


当前不能直接从渲染返回数组,也不能返回数组数组数组。您的示例之所以有效,是因为您返回了一个。如果返回
[]
,则会得到
不变冲突:ComponentName.render():必须返回有效的组件。您可能返回了未定义、数组或其他无效对象。
@FakeRainBrigand我被OP问题中的示例代码分散了注意力,专注于返回组件的内容,而不是必须返回组件的事实:)我已更新了我的答案,感谢您的更正!