我有以下(我没写过):
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,以便我可以正确设置该组件的样式?
答案 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
在那里做什么?