反映格式问题

时间:2016-03-16 20:03:01

标签: javascript html reactjs render

我有以下(我没写过):

   render: function () {
        if(this.state.loading){
            return <div><span><i className="fa fa-spinner fa-spin"></i> Loading...</span></div>
        }else if(typeof this.state.listing.id == 'undefined' || !this.state.component){
            return false;
        }
        return (
            React.createElement(eval(this.state.component), {
                listing: this.state.listing,
                onClose: this.handleClose,
                options: this.state.options
            })
        );
    }

这是在React.creatClass中。我很陌生,但只是需要一个包装div来围绕这一部分:

                React.createElement(eval(this.state.component), {
                    listing: this.state.listing,
                    onClose: this.handleClose,
                    options: this.state.options
                })

如何在该片段周围添加一个简单的div,以便我可以正确设置该组件的样式?

1 个答案:

答案 0 :(得分:1)

将其包装在另一个JSX标记中。如果您可以摆脱那个流浪React.createElement调用并且只使用JSX,那就最好了。

render: function () {
  if(this.state.loading){
    return (
      <div>
        <span>
          <i className="fa fa-spinner fa-spin"></i>
          Loading...
        </span>
      </div>
    );
  } else if(typeof this.state.listing.id == 'undefined' || !this.state.component) {
    return false;
  }
  return (
    <div>
      {React.createElement(eval(this.state.component), {
        listing: this.state.listing,
        onClose: this.handleClose,
        options: this.state.options})
      )}
    </div>
  );
}

这里真正的问题是eval在那里做什么?