I’m trying to update my state when onLongPress
triggered.
I’m printing the result right after the setState but it shows nothing (on the first press)
Code:
const [pressedImagesm setPressedImages] = useState([]);
...
onLongPress={() => {
setPressedImages(oldArray => [...oldArray, { [index]: true }]);
console.log(pressedImages);
}}
2
Answers
That’s because
setPressedImages
does not update the state object (pressedImages
) directly. Instead, it adds this update to a queue, and the updated state is reflected on the next render of your component.This is a pretty common React question – there’s a lot of helpful content out there that explains it in more detail (such as this article or this SO question).
try this: