⊗jsrtPmHkCxt 8 of 47 menu

Ngữ cảnh trong React

Trước khi chuyển sang nghiên cứu hook tiếp theo, chúng ta cần xem xét khái niệm ngữ cảnh trong React.

Thông thường chúng ta truyền dữ liệu từ các thành phần cha xuống các thành phần con bằng cách sử dụng props. Cách này tốt nếu bạn có ít thành phần và bạn không cần chuyển tiếp props từ thành phần cha xuống thành phần bạn cần thông qua các thành phần con hơn 2-3 lần.

Cách này cũng có thể trở nên cực kỳ bất tiện và dẫn đến các vấn đề khác nhau, nếu ở các thành phần trung gian, những props này hoàn toàn không được sử dụng (vấn đề như vậy được gọi là prop drilling), hoặc bạn cần truyền cùng một dữ liệu cho một số lượng lớn các thành phần.

Trong những trường hợp này, ngữ cảnh có thể giúp chúng ta, nó cho phép biến dữ liệu của thành phần cha trở nên khả dụng cho bất kỳ thành phần con nào, bất kể vị trí của nó trong cây thành phần, mà không cần truyền chúng qua props. Tương ứng, chỉ những thành phần nào cần dữ liệu mới sẽ nhận chúng.

Để sử dụng ngữ cảnh, cần phải tạo ra nó. Đầu tiên, hãy tạo tệp MyContext.js và nhập hàm createContext vào đó:

import { createContext } from 'react';

Bây giờ hãy tạo một đối tượng ngữ cảnh, ghi nó vào biến MyContext, cái mà chúng ta không được quên xuất khẩu. Trong trường hợp của chúng ta, chúng ta đã đặt giá trị ban đầu trong createContextnull, vì nó không quan trọng với chúng ta (có thể để dấu ngoặc trống đơn thuần). Giá trị mặc định được đặt sẽ xuất hiện khi đọc ngữ cảnh, nếu không tìm thấy bất kỳ giá trị nào khác. Giá trị này có thể là bất kỳ kiểu nào:

export const MyContext = createContext(null);

Trong bài học tiếp theo, chúng ta sẽ tạo một ứng dụng từ nhiều thành phần, được đặt trong các tệp riêng biệt. Nếu tất cả các thành phần đều trong một tệp, thì chúng ta cũng sẽ không tạo một tệp riêng cho việc tạo ngữ cảnh và không xuất khẩu nó.

Bây giờ hãy nhập MyContext.js vào thành phần rỗng App - vào thành phần mà từ đó chúng ta dự định truyền dữ liệu:

import { MyContext } from './MyContext.js';

Tạo tệp MyContext.js và nhập nó vào thành phần rỗng App, như được mô tả trong bài học.

Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối