2016-03-16 3 views
0

У меня есть следующее (которые я не писал):Реагировать форматирование вопроса

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 вокруг той части, так что я могу правильно укладывать этот компонент?

+2

'eval (this.state.component)' oh wow, это выглядит как анти-шаблон. – Mathletics

ответ

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 там делает?

Смежные вопросы