I have initial state null
in redux store but i want to trigger a function when that state is populated with a promise response if it met a condition in state.
this is my state in redux.
const Initial_state = {
orderStatus: null,
}
when promise resolve state is updated like this
orderStatus={status:200,message:'order place"}
i want to run a function in my component whenever state is changed and only if status is 200.
But if i use if
statement it returns error as status
does not exits in state initially
CodePudding user response:
if i well understand your question you should use the useEffect hook. Here is the documentation https://reactjs.org/docs/hooks-reference.html#useeffect.
So finally in your component you should have something like this :
useEffect(() => {
if (orderStatus?.status === 200) {
// Do something when status is 200
}
}, [orderStatus]);
I also want to suggest to define an empty object rather than null for you default value on the redux store :
const Initial_state = {
orderStatus: {},
}
Hoping my answer can help you in your search.