In this SO question, all the answers use this form of setState:
this.setState( { items: this.state.items.filter() } )
Which means this is a case of "new state is derived from the current state".
However, in this React Doc about async behavior of setState, in this case, this callback form MUST be used instead:
this.setState( currState => ( { items: currState.items.filter() } ) )
My question is, are those answer all wrong, and if so, what are the consequences? Or is it somehow still acceptable?