2015-01-05 15 views
13

Tôi đã xác định tên lớp cho bảng bên dưới (như một phần của JSX).
<table class="table">Cách chỉ định lớp trên nút JSX?

Tuy nhiên một khi nó hiển thị các lớp không được thiết lập trên bảng:

var SearchResult = React.createClass({ 
     render: function(){ 
      return (
       <table class="table"> 
        <thead> 
         <tr> 
          <th>Name</th> 
          <th>Address</th> 
         </tr> 
        </thead> 
        <tbody>...</tbody> 
       </table> 
      ); 
     } 
    }); 

Thay vào bảng cho thấy như <table data-reactid=".0.1.0.0">...</table> trong Chrome -> kiểm tra nguyên tố.

Trả lời

19

ReactJS sử dụng thuộc tính className để tránh sử dụng từ dành riêng cho JavaScript.

<table className="table"> 
+2

Là [người hỏi ở đây đề cập] (https://www.quora.com/Why-do-I-have-to-use-className-instead-of-class-in-ReactJs-components- được thực hiện trong JSX), JSX được xử lý trước, vì vậy các từ dành riêng không thực sự là động lực thúc đẩy. Từ "Ben Alpert, nhóm lõi React": "* Chúng tôi chắc chắn có thể đã làm nó theo cách khác xung quanh. Tôi đã tranh luận về điều đó một thời gian ... Đầu tiên, chúng ta có xu hướng xem xét các thuộc tính HTML (như' el.className =. ..') khi có thể, trái ngược với các thuộc tính (như 'el.setAttribute ('class', ...)'). * "v.v. – ruffin

Các vấn đề liên quan