Amélioration de l'UX avec les États de Chargement et d'Erreur
Glissez pour afficher le menu
L'application devient désormais réactive et explicite pour l'utilisateur. Au lieu de ne rien afficher pendant le chargement des données, l'état actuel de l'application est affiché.
Mise à jour de l'interface utilisateur
Ouvrir TaskList.jsx et utiliser le statut et l'erreur depuis le store :
import { useEffect } from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { fetchTasks } from '../features/tasks/tasksSlice';
import TaskItem from './TaskItem';
function TaskList() {
const dispatch = useDispatch();
const { items, status, error } = useSelector((state) => state.tasks);
useEffect(() => {
if (status === 'idle') {
dispatch(fetchTasks());
}
}, [dispatch, status]);
if (status === 'loading') {
return <p>Loading tasks...</p>;
}
if (status === 'failed') {
return <p>Error: {error}</p>;
}
return (
<ul>
{items.map((task) => (
<TaskItem key={task.id} task={task} />
))}
</ul>
);
}
export default TaskList;
L'interface utilisateur reflète désormais ce qui se passe :
- Affiche un chargement pendant la récupération des données ;
- Affiche les tâches lorsque les données sont prêtes ;
- Affiche un message d'erreur en cas d'échec.
L'utilisateur reçoit toujours un retour visuel. Même des messages simples rendent l'application plus fiable et facile à utiliser.
L'état asynchrone est connecté à l'interface utilisateur. L'application gère désormais les états de chargement et d'erreur et fournit un retour clair à l'utilisateur.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion