Skip to content

Instantly share code, notes, and snippets.

@IBRAHIMDANS
Last active March 15, 2026 03:40
Show Gist options
  • Select an option

  • Save IBRAHIMDANS/bb7ef8e4dfcd4a1361537deb993f6ab0 to your computer and use it in GitHub Desktop.

Select an option

Save IBRAHIMDANS/bb7ef8e4dfcd4a1361537deb993f6ab0 to your computer and use it in GitHub Desktop.
Test React (challenge) for new dev
import React, { useState, useEffect } from 'react';
const UserList = ({ filters }) => {
const [users, setUsers] = useState([]);
const [loading, setLoading] = useState(false);
useEffect(() => {
setLoading(true);
fetch(`/api/users?role=${filters.role}&age=${filters.age}`)
.then(res => res.json())
.then(data => {
setUsers(data);
setLoading(false);
});
}, [filters]);
const sortedUsers = users.sort((a, b) =>
a.name.localeCompare(b.name)
);
const handleDelete = (id) => {
fetch(`/api/users/${id}`, { method: 'DELETE' });
setUsers(users.filter(u => u.id !== id));
};
return (
<div>
{loading && <p>Chargement...</p>}
{sortedUsers.map((user, index) => (
<div key={index}>
<p>{user.name}</p>
<button onClick={handleDelete(user.id)}>
Supprimer
</button>
</div>
))}
</div>
);
};
export default UserList;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment