⊗jsrtPmHkCUp 10 of 47 menu

Cập nhật Ngữ cảnh trong React

Trong bài học này, chúng ta sẽ xem xét việc cập nhật các thành phần khi giá trị ngữ cảnh thay đổi. Giả sử bạn muốn ngữ cảnh có thể thay đổi.

Trong trường hợp này, hữu ích khi áp dụng ngữ cảnh kết hợp với trạng thái. Hãy thay đổi một chút ứng dụng hộp của chúng ta, mà chúng ta đã làm ở bài học trước và làm sao để khi nhấn vào nút giá trị được truyền sẽ trở thành 'metal box :)'.

Vậy, hãy lấy tệp App của chúng ta và sau BigBox, vẽ một nút nhỏ:

function App() { return ( <MyContext.Provider value="small box :)"> <BigBox /> <button>click</button> </MyContext.Provider> ); }

Tiếp theo, nhập khẩu hook useState và tạo ra trạng thái name, giá trị của nó sẽ thay đổi khi nhấn nút. Hãy đặt giá trị ban đầu là giá trị mà chúng ta đã truyền ngay lập tức làm giá trị ngữ cảnh, tức là 'small box :)':

function App() { const [name, setName] = useState('small box :)'); }

Lần này, ngữ cảnh chúng ta sẽ truyền không phải là chuỗi, mà là trạng thái name:

<MyContext.Provider value={name}> <BigBox /> <button>click</button> </MyContext.Provider>

Bước cuối cùng, chúng ta sẽ gọi trình xử lý sự kiện nhấp chuột vào nút và sử dụng hàm setName để thiết lập giá trị mới của trạng thái thành 'metal box :)'. Sau đó, có thể nhấn vào nút và kiểm tra kết quả:

<button onClick={() => { setName('metal box :)'); }}>click</button>

Sử dụng ứng dụng được tạo bởi bạn để giải các bài tập ở bài học trước. Tạo ra trạng thái age, mà bạn sẽ thay vì truyền số, hãy truyền bằng ngữ cảnh từ App, đặt giá trị ban đầu là 50. Thêm vào dưới thành phần Parent trong App một nút, với mỗi lần nhấp vào đó, giá trị trạng thái age sẽ giảm đi 2.

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