Thành phần React có phải trả về HTML không?

JSX được sử dụng cùng với React để loại bỏ các phần được ghép lỏng lẻo của một thành phần, như HTML, CSS và JavaScript và khiến chúng hoạt động cùng nhau trong một tệp duy nhất được gọi là thành phần. Cú pháp của nó có thể dễ viết và hấp dẫn trực quan. Do đó, các phần tử JSX cũng có thể được trả về biến và biến đó có thể được sử dụng để hiển thị

Để minh họa ví dụ, hãy tạo một bảng tĩnh trong một hàm và đưa nó về biến. Chúng ta cũng sẽ tạo một tĩnh ____14_______ bên trong hàm.

1getTable() {
2    return (
3      <div>
4        <table border="2">
5          <tr>
6            <td>Row 1 Col 1td>
7            <td>Row 1 Col 2td>
8          tr>
9          <tr>
10            <td>Row 2 Col 1td>
11            <td>Row 2 Col 2td>
12          tr>
13          <tr>
14            <td>Row 3 Col 1td>
15            <td>Row 3 Col 2td>
16          tr>
17        table>
18      div>
19    );
20}

jsx

Bảng được tạo trong hàm và trả về tập hợp các đánh dấu JSX cho hàm. Vì vậy, khi bạn truy cập chức năng, các đánh dấu JSX tương ứng của bảng sẽ được thay thế

Bước tiếp theo là gọi hàm và gán nó cho biến, như hình bên dưới

1render() {
2    // Calling function and assigned it to the variable
3    const mytable = this.getTable();
4
5    return (
6      <>
7        {/* rendered the JSX */}
8        <div>{mytable}div> 
9      >
10    );
11}

jsx

Hàm this.getTable() được gọi và nó trả về kết quả hoàn chỉnh

element, so once you place it inside the
1render() {
2    // Calling function and assigned it to the variable
3    const mytable = this.getTable();
4
5    return (
6      <>
7        {/* rendered the JSX */}
8        <div>{mytable}div> 
9      >
10    );
11}
0
, the element will be created into the DOM.

Kết xuất có điều kiện JSX

Cả nội dung tĩnh và động đều có thể được cung cấp cho DOM. Do đó, bạn có thể hiển thị nội dung động dựa trên các toán tử điều kiện riêng lẻ, chẳng hạn như toán tử bậc ba. Ví dụ: nếu bạn muốn hiển thị trạng thái người dùng đã đăng nhập đang hoạt động hoặc không hoạt động, màu hoặc nhãn trạng thái có thể thay đổi dựa trên điều kiện, chẳng hạn như thay đổi thành màu xanh lục hoặc đỏ

Để hiểu rõ hơn, hãy tạo hai hàm hiển thị nhãn trạng thái

1render() {
2    // Calling function and assigned it to the variable
3    const mytable = this.getTable();
4
5    return (
6      <>
7        {/* rendered the JSX */}
8        <div>{mytable}div> 
9      >
10    );
11}
1 và
1render() {
2    // Calling function and assigned it to the variable
3    const mytable = this.getTable();
4
5    return (
6      <>
7        {/* rendered the JSX */}
8        <div>{mytable}div> 
9      >
10    );
11}
2
status label.

1activeContent() {
2   return <label>Activelabel>;
3}
4
5inActiveContent() {
6   return <label>In-activelabel>;
7}

jsx

Mỗi hàm trên trả về phần tử JSX cụ thể dưới dạng phần tử JSX

1render() {
2    // Calling function and assigned it to the variable
3    const mytable = this.getTable();
4
5    return (
6      <>
7        {/* rendered the JSX */}
8        <div>{mytable}div> 
9      >
10    );
11}
3 , tuy nhiên, bạn nên có một số mã định danh hoặc điều kiện để tự động .

Tạo khóa vào đối tượng trạng thái, như hình bên dưới

1constructor(props) {
2    super(props);
3    this.state = {
4      isActive: false
5    };
6}

jsx

Quan sát rằng có một khóa có tên

1render() {
2    // Calling function and assigned it to the variable
3    const mytable = this.getTable();
4
5    return (
6      <>
7        {/* rendered the JSX */}
8        <div>{mytable}div> 
9      >
10    );
11}
4 trong thành phần và cùng một biến có thể được sử dụng làm điều kiện hoặc có thể đúng .

Bây giờ, hãy gọi hai hàm trên và đặt kết quả của chúng vào các biến bổ sung

1const activeVariable = this.activeContent();
2const inactiveVariable = this.inActiveContent();

jsx

1render() {
2    // Calling function and assigned it to the variable
3    const mytable = this.getTable();
4
5    return (
6      <>
7        {/* rendered the JSX */}
8        <div>{mytable}div> 
9      >
10    );
11}
5 được sử dụng để giữ trạng thái nhãn đang hoạt động và
1render() {
2    // Calling function and assigned it to the variable
3    const mytable = this.getTable();
4
5    return (
6      <>
7        {/* rendered the JSX */}
8        <div>{mytable}div> 
9      >
10    );
11}
6
giữ nhãn trạng thái không hoạt động. Cả hai có thể hoán đổi cho nhau bằng cách sử dụng toán tử bậc ba, như minh họa bên dưới.

1render() {
2    const activeVariable = this.activeContent();
3    const inactiveVariable = this.inActiveContent();
4
5    return (
6      <>
7        {this.state.isActive ? activeVariable : inactiveVariable}
8      >
9    );
10}

jsx

Điều kiện bậc ba ở trên sử dụng ____1_______7 và dựa trên giá trị của nó (đúng hoặc sai), nhãn tương ứng sẽ được hiển thị trong DOM. Sử dụng một biến trong ______17_______ là một cách tiếp cận phổ biến. Hầu hết các nhà phát triển React sử dụng chúng để quản lý nội dung động từ việc triển khai chức năng và chúng dễ dàng vận hành trong toàn bộ thành phần.

Phần kết luận

JSX với React không phải là một cách tiếp cận bắt buộc, nhưng nó có thể được sử dụng một cách hiệu quả để sử dụng các biểu thức dựa trên JavaScript và các tính năng khác nội tuyến với đánh dấu HTML

Trả về một biến trong hàm kết xuất là cách dễ nhất để quản lý đánh dấu JSX, cho dù nội dung là tĩnh hay động. Hãy dùng thử và đào sâu vào JSX

React có tự động thoát khỏi HTML không?

React xuất các phần tử và dữ liệu bên trong chúng bằng cách sử dụng thoát tự động . Nó diễn giải mọi thứ bên trong validationMessage dưới dạng một chuỗi và không hiển thị bất kỳ phần tử HTML bổ sung nào.

Một thành phần trả về gì trong React?

Về mặt khái niệm, các thành phần giống như các hàm JavaScript. Chúng chấp nhận các đầu vào tùy ý (được gọi là “đạo cụ”) và trả về Các phần tử phản ứng mô tả những gì sẽ xuất hiện trên màn hình .

React có xuất ra HTML không?

Mục tiêu của React theo nhiều cách là hiển thị HTML trong một trang web. React hiển thị HTML cho trang web bằng cách sử dụng chức năng có tên là ReactDOM. kết xuất() .