满足条件时触发状态更改功能
trigger a function on state change when condition is met
我在 redux 存储中有初始状态 null
,但我想在该状态满足状态条件时用承诺响应填充该状态时触发一个函数。
这是我在 redux 中的状态。
const Initial_state = {
orderStatus: null,
}
当 promise 解析状态像这样更新时
orderStatus={status:200,message:'order place"}
我想在我的组件中 运行 一个函数,只要状态改变并且只有当状态为 200 时。
但是如果我使用 if
声明它 returns 错误,因为 status
最初不会退出状态
如果我很理解你的问题,你应该使用 useEffect 钩子。这是文档 https://reactjs.org/docs/hooks-reference.html#useeffect.
所以最后在你的组件中你应该有这样的东西:
useEffect(() => {
if (orderStatus?.status === 200) {
// Do something when status is 200
}
}, [orderStatus]);
我还想建议为 redux 存储上的默认值定义一个空对象而不是 null :
const Initial_state = {
orderStatus: {},
}
希望我的回答能对您的搜索有所帮助。
我在 redux 存储中有初始状态 null
,但我想在该状态满足状态条件时用承诺响应填充该状态时触发一个函数。
这是我在 redux 中的状态。
const Initial_state = {
orderStatus: null,
}
当 promise 解析状态像这样更新时
orderStatus={status:200,message:'order place"}
我想在我的组件中 运行 一个函数,只要状态改变并且只有当状态为 200 时。
但是如果我使用 if
声明它 returns 错误,因为 status
最初不会退出状态
如果我很理解你的问题,你应该使用 useEffect 钩子。这是文档 https://reactjs.org/docs/hooks-reference.html#useeffect.
所以最后在你的组件中你应该有这样的东西:
useEffect(() => {
if (orderStatus?.status === 200) {
// Do something when status is 200
}
}, [orderStatus]);
我还想建议为 redux 存储上的默认值定义一个空对象而不是 null :
const Initial_state = {
orderStatus: {},
}
希望我的回答能对您的搜索有所帮助。