Skip to content

Instantly share code, notes, and snippets.

@koss-lebedev
Last active July 4, 2022 08:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save koss-lebedev/7e2a36e744241e3b08ea0ecbdf103f19 to your computer and use it in GitHub Desktop.
Save koss-lebedev/7e2a36e744241e3b08ea0ecbdf103f19 to your computer and use it in GitHub Desktop.
const useUsers = () => {
const [users, setUsers] = useState([])
useEffect(() => {
const loadUsers = async () => {
const response = await fetch('/some-api')
const data = await response.json()
setUsers(data)
}
loadUsers()
}, [])
return { users }
}
const ActiveUsersList = () => {
const { users } = useUsers()
const weekAgo = new Date()
weekAgo.setDate(weekAgo.getDate() - 7)
return (
<ul>
{users.filter(user => !user.isBanned && user.lastActivityAt >= weekAgo).map(user =>
<li key={user.id}>
<img src={user.avatarUrl} />
<p>{user.fullName}</p>
<small>{user.role}</small>
</li>
)}
</ul>
)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment