JavaScript có thể phản ứng với các sự kiện
Sự kiện là một trong những tính năng không thể thiếu của web như chúng ta biết. Không có sự kiện, web sẽ nhạt nhẽo kinh khủng Show
Sự kiện là các hành động xảy ra trên một trang web đối với các phần tử HTML. Bất cứ khi nào có điều gì đó xảy ra trên một trang web, bạn có thể chắc chắn rằng đó rất có thể là một sự kiện, từ khi trang tải ban đầu, đến việc người dùng nhấp vào nút, đóng hoặc thay đổi kích thước cửa sổ. Chúng là tất cả các ví dụ về các sự kiện khác nhau xảy ra trong trình duyệt Là một ngôn ngữ kịch bản dành cho web, JavaScript cho phép chúng ta thực thi mã để phản ứng lại sự xuất hiện của một sự kiện được kích hoạt bởi các phần tử HTML Đối với các khung JavaScript, các sự kiện cũng có thể được sử dụng để truyền dữ liệu dễ dàng qua một ứng dụng. Ví dụ: React chỉ hỗ trợ luồng dữ liệu một chiều, nghĩa là dữ liệu chỉ có thể truyền từ các thành phần cấp cao nhất sang các thành phần cấp thấp hơn. Nhưng với các sự kiện, bạn có thể lắng nghe và phản ứng với một số sự kiện nhất định ở mọi cấp độ thành phần Bài viết này sẽ đề cập đến cách chúng ta có thể tạo và sử dụng các sự kiện tùy chỉnh trong React nội dungSự kiện tùy chỉnh là gì?Trình duyệt có sẵn một số sự kiện mặc định cho các phần tử HTML khác nhau. Nhưng sau đó, trong một số trường hợp, nhu cầu tạo sự kiện tùy chỉnh phát sinh. Ví dụ: nếu bạn muốn giao tiếp với một thành phần khác khi một thành phần hộp thoại đã bị đóng, thì cách tốt nhất để đạt được điều đó là thông qua một sự kiện tùy chỉnh, vì không có sự kiện “ Chúng ta có thể tạo các sự kiện tùy chỉnh bằng hàm tạo Sự kiện. Bây giờ chúng ta cuối cùng cũng có thể tạo sự kiện “ //First, we initialize our event const event = new Event('onDialogClose'); // Next, we dispatch the event. elem.dispatchEvent(event); Nếu chúng tôi muốn thêm một chút dữ liệu vào sự kiện tùy chỉnh của mình, chúng tôi có thể làm như vậy thông qua giao diện //First, we initialize our event const event = new CustomEvent('onDialogClose', {detail: "Main Dialog"}); // Next, we dispatch the event. elem.dispatchEvent(event);0 //First, we initialize our event const event = new CustomEvent('onDialogClose', {detail: "Main Dialog"}); // Next, we dispatch the event. elem.dispatchEvent(event); Hãy xem phần này để tìm hiểu thêm về các sự kiện tùy chỉnh trong JavaScript và cách triển khai chúng trong các dự án JavaScript cơ bản của bạn Sự kiện tùy chỉnh trong ReactĐối với bài viết này, chúng tôi sẽ xây dựng một bản trình diễn để minh họa cách sử dụng các sự kiện tùy chỉnh trong các ứng dụng React của chúng tôi Đối với bản demo, trường hợp sử dụng của chúng tôi sẽ cố gắng hiển thị và ẩn danh sách các quốc gia châu Phi, danh sách này sẽ được chứa là một thành phần //First, we initialize our event const event = new CustomEvent('onDialogClose', {detail: "Main Dialog"}); // Next, we dispatch the event. elem.dispatchEvent(event);1 và được khai báo trong thành phần chính của ứng dụng của chúng tôi là //First, we initialize our event const event = new CustomEvent('onDialogClose', {detail: "Main Dialog"}); // Next, we dispatch the event. elem.dispatchEvent(event);2 khỏi một thành phần con khác, //First, we initialize our event const event = new CustomEvent('onDialogClose', {detail: "Main Dialog"}); // Next, we dispatch the event. elem.dispatchEvent(event);3 Để tìm nạp danh sách các quốc gia châu Phi, chúng tôi sẽ sử dụng Hãy đi sâu vào Thiết lập dự ánTrước hết, chúng ta sẽ tạo một dự án React mới bằng cách sử dụng Tạo ứng dụng React //First, we initialize our event const event = new CustomEvent('onDialogClose', {detail: "Main Dialog"}); // Next, we dispatch the event. elem.dispatchEvent(event);4 trong thư mục //First, we initialize our event const event = new CustomEvent('onDialogClose', {detail: "Main Dialog"}); // Next, we dispatch the event. elem.dispatchEvent(event);5 và tạo các thành phần của chúng tôi //First, we initialize our event const event = new CustomEvent('onDialogClose', {detail: "Main Dialog"}); // Next, we dispatch the event. elem.dispatchEvent(event);1 và //First, we initialize our event const event = new CustomEvent('onDialogClose', {detail: "Main Dialog"}); // Next, we dispatch the event. elem.dispatchEvent(event);3 bên trong thư mục đó Hơn 200 nghìn nhà phát triển sử dụng LogRocket để tạo ra trải nghiệm kỹ thuật số tốt hơnTìm hiểu thêm →Thành phần //First, we initialize our event const event = new CustomEvent('onDialogClose', {detail: "Main Dialog"}); // Next, we dispatch the event. elem.dispatchEvent(event);1 sẽ hiển thị danh sách tất cả các quốc gia ở Châu Phi từ điểm cuối API của chúng tôi và thành phần //First, we initialize our event const event = new CustomEvent('onDialogClose', {detail: "Main Dialog"}); // Next, we dispatch the event. elem.dispatchEvent(event);3 sẽ chứa các nút sẽ hiển thị hoặc ẩn danh sách, tùy thuộc vào trạng thái hiện tại của nó Ngoài ra, trong thư mục gốc của thư mục //First, we initialize our event const event = new CustomEvent('onDialogClose', {detail: "Main Dialog"}); // Next, we dispatch the event. elem.dispatchEvent(event);5 của chúng tôi, chúng tôi sẽ tạo một tệp //events.js function subscribe(eventName, listener) { document.addEventListener(eventName, listener); } function unsubscribe(eventName, listener) { document.removeEventListener(eventName, listener); } function publish(eventName, data) { const event = new CustomEvent(eventName, { detail: data }); document.dispatchEvent(event); } export { publish, subscribe, unsubscribe};1 để tóm tắt mã để gửi và nghe các sự kiện, vì vậy mã của chúng tôi sạch hơn một chút và có thể tái sử dụng Xây dựng sự kiện tùy chỉnh trong ReactKhi bạn đã hoàn thành các hướng dẫn ở trên, hãy tiếp tục sao chép và dán vào trình chỉnh sửa mã của bạn nội dung của các khối mã bên dưới. Đừng lo lắng, chúng tôi sẽ xem xét mọi thứ một cách chi tiết //events.js function subscribe(eventName, listener) { document.addEventListener(eventName, listener); } function unsubscribe(eventName, listener) { document.removeEventListener(eventName, listener); } function publish(eventName, data) { const event = new CustomEvent(eventName, { detail: data }); document.dispatchEvent(event); } export { publish, subscribe, unsubscribe};2 //events.js function subscribe(eventName, listener) { document.addEventListener(eventName, listener); } function unsubscribe(eventName, listener) { document.removeEventListener(eventName, listener); } function publish(eventName, data) { const event = new CustomEvent(eventName, { detail: data }); document.dispatchEvent(event); } export { publish, subscribe, unsubscribe}; Trong tệp //events.js function subscribe(eventName, listener) { document.addEventListener(eventName, listener); } function unsubscribe(eventName, listener) { document.removeEventListener(eventName, listener); } function publish(eventName, data) { const event = new CustomEvent(eventName, { detail: data }); document.dispatchEvent(event); } export { publish, subscribe, unsubscribe};2, như đã nêu trước đó, chúng tôi chỉ trừu tượng hóa logic để tạo sự kiện tùy chỉnh, gửi sự kiện, thêm trình xử lý sự kiện và xóa trình xử lý sự kiện để sử dụng trong các thành phần khác của ứng dụng của chúng tôi N. B. , Bạn có thể đổi tên các tên chức năng ở đây thành bất cứ thứ gì bạn thích, tôi chỉ nghĩ rằng mẫu đặt tên này hoạt động tốt với mẫu nhà xuất bản-người đăng ký Tiếp theo là thành phần //First, we initialize our event const event = new CustomEvent('onDialogClose', {detail: "Main Dialog"}); // Next, we dispatch the event. elem.dispatchEvent(event);1 //CountryList.js const CountryList = (props) => { return (
List of countries in Africa{props.listData.map((el) => { return ( |