如何从渲染中返回现有的reactElement

时间:2016-09-11 13:47:05

标签: reactjs

从错误描述中,我了解render可以返回类和字符串,但不能返回已经创建的对象。但是,有解决方法吗?

const Hello = React.createElement("div",{},"Hello");

var MyComp = React.createClass({
render:function(){
return(<Hello/>)
}
})

作为回报的错误:  元素类型无效:期望一个字符串(用于内置组件)或一个类/函数(用于复合组件)但得到:object

1 个答案:

答案 0 :(得分:0)

解决方法是你需要在Reacts组件中创建一个div,然后才能渲染它。

  

我们将JavaScript对象中的一些方法传递给React.createClass()以创建一个新的React组件。这些方法中最重要的部分称为render,它返回一个React组件树,最终将呈现给HTML。

DOC

var Hello = React.createClass({
  render: function() {
    return (
      React.createElement('div', {},
        "Hello, world! "
      )
    );
  }
});

var MyComp = React.createClass({
render:function(){
return(<Hello />)
}
})

ReactDOM.render(<MyComp />, document.getElementById('app'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.8/react.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.8/react-dom.js"></script>

<div id="app"></div>