01/10/2018, 10:28

Render component mà không cần thẻ bao ngoài?

Vấn đề chính xác e đang gặp giống bác trong link này, nhưng vẫn ko giải quyết được

stackoverflow.com
thealexbaron

How do I render sibling elements without wrapping them in a parent tag?

reactjs
asked by thealexbaron on 05:26PM - 06 Feb 15

 class B extends React.Component {
        render() {
            return (
                <tr><td>Item 2</td></tr>
            );
        }
    };

 class A extends React.Component {
        render() {
            return (
                <tr><td>Item 1</td></tr>
                <B/> // => Lỗi ở đây vì ko đeo bao :( + do  điều kiện của code, bao ko thể là thẻ tbody
            );
        }
    };

Bác nào thông giúp e

Người bị bơ viết 12:29 ngày 01/10/2018

Không được bởi vì, render() thực chất là creatElement của javascript thuần, và creatElement chỉ cho phép 1 element thôi.
Bạn có thể dùng babel để bỏ code vô xem thử nó dịch ra Js thuần:

babeljs.io

Babel · The compiler for next generation JavaScript

The compiler for next generation JavaScript

Storm viết 12:42 ngày 01/10/2018

Dịch cái B nó ra như vầy, rồi làm sao để nhét vào A vậy bác

React.createElement(
  "tr",
  null,
  React.createElement(
    "td",
    null,
    "Item 2"
  )
);
Người bị bơ viết 12:42 ngày 01/10/2018

Cái A nó lỗi cú pháp thì sao mà ra?

Không được bởi vì, render() thực chất là creatElement của javascript thuần, và creatElement chỉ cho phép 1 element thôi.

Đào An viết 12:30 ngày 01/10/2018

Cứ bọc ngoài bằng thẻ div hay span thôi chứ sao render đc 2 element

Bài liên quan
0