DEV Community

Gunabalan.S
Gunabalan.S

Posted on • Edited on

Use callback in setState when referencing the previous state.eslintreact/no-access-state-in-setstate

Example

       const actions = this.state.actions.filter((item) => item.key !== key2);
       this.setState({ actions, more_action: 'add' });

Enter fullscreen mode Exit fullscreen mode

Solution

      this.setState((prevState) => {
        const newActions = prevState.actions.filter((item) => item.key !== key2);
        return { actions: newActions, more_action: 'add' };
      });
Enter fullscreen mode Exit fullscreen mode

Note
prevState is available in setState callback, which is important for avoiding race conditions and ensuring that state updates are based on the latest values.

Top comments (0)