Error Handling trong ReactJS
Trong bài tập này, mình sẽ học cách xử lý lỗi khi gặp vấn đề trong quá trình gửi yêu cầu API hoặc nhận dữ liệu từ API. Mình sẽ cập nhật ứng dụng của mình để hiển thị thông báo lỗi phù hợp cho người dùng khi có lỗi xảy ra, giúp cải thiện trải nghiệm người dùng và giúp họ dễ dàng xử lý các vấn đề.
Mình sẽ tiếp tục thực hiện bài tập bằng cách cập nhật component UserList
để xử lý lỗi và hiển thị thông báo lỗi phù hợp cho người dùng.
Bước 1: Tạo Component UserList
Trong component UserList, chúng ta sẽ thêm một state error để theo dõi khi có lỗi xảy ra. Khi có lỗi xảy ra trong quá trình gửi yêu cầu API, chúng ta sẽ cập nhật state error và hiển thị thông báo lỗi phù hợp cho người dùng.
// src/components/UserList.js import React, { useState, useEffect } from 'react'; import axios from 'axios'; const UserList = () => { const [users, setUsers] = useState([]); const [error, setError] = useState(null); useEffect(() => { const fetchUsers = async () => { try { const response = await axios.get('https://jsonplaceholder.typicode.com/users'); setUsers(response.data); } catch (error) { setError(error.message); // Lưu thông báo lỗi vào state error } }; fetchUsers(); }, []); if (error) { return <div>Error: {error}</div>; // Hiển thị thông báo lỗi nếu có lỗi xảy ra } return ( <div> <h1>User List</h1> <ul> {users.map(user => ( <li key={user.id}>{user.name}</li> ))} </ul> </div> ); }; export default UserList;
Bước 2: Cập nhật CSS (Nếu Cần)
Nếu bạn muốn tùy chỉnh giao diện của thông báo lỗi, bạn có thể cập nhật file CSS của mình tương ứng. Dưới đây là một ví dụ đơn giản:
/* styles.css */ .error-message { color: red; font-weight: bold; }
Bước 3: Import CSS và sử dụng trong App
Đảm bảo bạn import file CSS vào trong component App.js để áp dụng các quy tắc CSS đã được cập nhật:
// src/App.js import React from 'react'; import UserList from './components/UserList'; import './styles.css'; // Import file CSS function App() { return ( <div className="App"> <UserList /> </div> ); } export default App;
Trong bài tập này, mình đã học cách xử lý lỗi khi gặp vấn đề trong quá trình gửi yêu cầu API hoặc nhận dữ liệu từ API, và hiển thị thông báo lỗi phù hợp cho người dùng. Điều này giúp cải thiện trải nghiệm người dùng và làm cho họ cảm thấy thoải mái hơn khi sử dụng ứng dụng của mình.
Bài giải
-------------------- ######## --------------------
Câu hỏi thường gặp liên quan:
- Fetching Data from API trong ReactJS
- Displaying Details trong ReactJS
- Searching Data trong ReactJS
- Pagination trong ReactJS
- Loading Indicator trong ReactJS
- Error Handling trong ReactJS
- Form Submission trong ReactJS
- Authentication trong ReactJS
- Deleting Data trong ReactJS
- File Upload trong ReactJS
- Real-time Updates trong ReactJS
- External APIs Integration trong ReactJS
- Rate Limiting và Throttling trong ReactJS