DEV Community

Discussion on: React cant reach current state

Collapse
justincy profile image
Justin

You can get the latest value by passing a function to setUsers and it will be passed the current value as a parameter. See reactjs.org/docs/hooks-reference.h...

Collapse
mertyjsx profile image
mertyjsx Author

can you look at this,codesandbox.io/s/the-appropriate-u...
what is the reason of this

  1. row console.log(users) getting empty array
Collapse
justincy profile image
Justin • Edited on

Because of a stale closure, following the rules of Javascript closures and scope. dmitripavlutin.com/react-hooks-sta...

Here's what you want:

  const delet = (id) => {
    setUsers((currentUsers) => {
      return currentUsers.filter((i) => i.id !== id);
    });
  };
Enter fullscreen mode Exit fullscreen mode

codesandbox.io/s/the-appropriate-u...