In the following I am updating the value of a state and then trying to use it inside useEffect only but cannot get the value of the updated state can anyone help me regarding how can i get updated state immediately inside useEffect only
Thank you
useEffect(() => {
dispatch(setSecondaryInvName(barcodeData))
console.log("secondaryInventoryName == ", secondaryInventoryName)
}
})
you shouldn't and you cant.
first use useEffect like componentDidMount with []:
useEffect(() => {
dispatch(setSecondaryInvName(barcodeData))
}, [])
then you should use useEffect like componentDidUpdate with [secondaryInventoryName]:
useEffect(() => {
console.log("secondaryInventoryName == ", secondaryInventoryName)
}, [secondaryInventoryName])
You can't get immediately updated value in useEffect instead of you have to make a dependency in useEffect whenever its value will update it will trigger. Like:
useEffect(() => {
dispatch(setSecondaryInvName(barcodeData))
}
},[])
useEffect(() => {
console.log("secondaryInventoryName == ", secondaryInventoryName)
}
},[secondaryInventoryName])