Các thành phần React


Các thành phần giống như các hàm trả về các phần tử HTML.


Các thành phần React

Các thành phần là các bit mã độc lập và có thể tái sử dụng. Chúng phục vụ cùng mục đích như các hàm JavaScript, nhưng hoạt động riêng lẻ và trả về HTML.

Thành phần có hai loại, Thành phần lớp và Thành phần chức năng, trong hướng dẫn này chúng ta sẽ tập trung vào Thành phần chức năng.

Trong các cơ sở mã React cũ hơn, bạn có thể thấy các thành phần Lớp được sử dụng chủ yếu. Bây giờ người ta đề xuất sử dụng các thành phần Hàm cùng với Hooks, đã được thêm vào trong React 16.8. Có một phần tùy chọn về Thành phần lớp để bạn tham khảo.


Tạo thành phần đầu tiên của bạn

Khi tạo một thành phần React, tên của thành phần PHẢI bắt đầu bằng chữ hoa.

Thành phần lớp

Một thành phần lớp phải bao gồm extends React.Componentcâu lệnh. Câu lệnh này tạo sự kế thừa cho React.Component và cấp cho thành phần của bạn quyền truy cập vào các chức năng của React.Component.

Thành phần cũng yêu cầu một render()phương thức, phương thức này trả về HTML.

Thí dụ

Tạo một thành phần Lớp được gọi là Car

class Car extends React.Component {
  render() {
    return <h2>Hi, I am a Car!</h2>;
  }
}

Thành phần chức năng

Đây là ví dụ tương tự như trên, nhưng được tạo bằng cách sử dụng một thành phần Hàm thay thế.

Một thành phần Hàm cũng trả về HTML và hoạt động giống như một thành phần Lớp, nhưng các thành phần Hàm có thể được viết bằng cách sử dụng ít mã hơn, dễ hiểu hơn và sẽ được ưu tiên trong hướng dẫn này.

Thí dụ

Tạo một thành phần chức năng được gọi làCar

function Car() {
  return <h2>Hi, I am a Car!</h2>;
}


w3schools CERTIFIED . 2022

Được chứng nhận!

Hoàn thành các mô-đun React, làm bài tập, làm bài kiểm tra và được chứng nhận w3schools !!

$ 95 GHI DANH

Hiển thị một thành phần

Bây giờ ứng dụng React của bạn có một thành phần gọi là Car, nó trả về một <h2>phần tử.

Để sử dụng thành phần này trong ứng dụng của bạn, hãy sử dụng cú pháp tương tự như HTML thông thường: <Car />

Thí dụ

Hiển thị Carthành phần trong phần tử "gốc":

ReactDOM.render(<Car />, document.getElementById('root'));


Đạo cụ

Các thành phần có thể được chuyển là props, viết tắt của các thuộc tính.

Đạo cụ giống như các đối số của hàm và bạn gửi chúng vào thành phần dưới dạng thuộc tính.

Bạn sẽ tìm hiểu thêm về propstrong chương tiếp theo.

Thí dụ

Sử dụng một thuộc tính để chuyển một màu cho thành phần Xe và sử dụng nó trong hàm render ():

function Car(props) {
  return <h2>I am a {props.color} Car!</h2>;
}

ReactDOM.render(<Car color="red"/>, document.getElementById('root'));


Các thành phần trong các thành phần

Chúng ta có thể tham khảo các thành phần bên trong các thành phần khác:

Thí dụ

Sử dụng thành phần Xe bên trong thành phần Nhà để xe:

function Car() {
  return <h2>I am a Car!</h2>;
}

function Garage() {
  return (
    <>
      <h1>Who lives in my Garage?</h1>
      <Car />
    </>
  );
}

ReactDOM.render(<Garage />, document.getElementById('root'));


Các thành phần trong tệp

React là tất cả về việc sử dụng lại mã và bạn nên chia các thành phần của mình thành các tệp riêng biệt.

Để làm điều đó, hãy tạo một tệp mới có .js phần mở rộng tệp và đặt mã bên trong nó:

Lưu ý rằng tên tệp phải bắt đầu bằng ký tự viết hoa.

Thí dụ

Đây là tệp mới, chúng tôi đặt tên là "Car.js":

function Car() {
  return <h2>Hi, I am a Car!</h2>;
}

export default Car;

Để có thể sử dụng thành phần Xe, bạn phải nhập tệp trong ứng dụng của mình.

Thí dụ

Bây giờ chúng tôi nhập tệp "Car.js" trong ứng dụng và chúng tôi có thể sử dụng Car thành phần như thể nó được tạo ở đây.

import React from 'react';
import ReactDOM from 'react-dom';
import Car from './Car.js';

ReactDOM.render(<Car />, document.getElementById('root'));


Kiểm tra bản thân với các bài tập

Bài tập:

Đặt tên cho thành phần React sau là "person".

function (props) {
  return <h2>Hi, I'm {props.name}</h2>;
}