如何使用 redux 只取回一个值而不管理状态
Posted
技术标签:
【中文标题】如何使用 redux 只取回一个值而不管理状态【英文标题】:How to use redux to only get back a value without managing state 【发布时间】:2020-07-07 10:42:49 【问题描述】:我正在使用redux的dispatch方法做副作用然后取回一个值。在这种情况下,我对管理状态不感兴趣。如何从 dispatch 函数中取回一个值?
我在组件中的代码:
useEffect(() =>
try
const a = dispatch(
expensesActions.getExpenseList()
)
console.log("return value", a)
catch (err)
setError(err.message)
, [dispatch]);
我正在尝试使用 a 作为返回值,但在 console.log 上我得到了:
Promise
"_40": 0,
"_55": null,
"_65": 0,
"_72": null,
我的操作中非常简单的代码:
export const getExpenseList = () =>
return async (dispatch, getState) =>
return "HELLO"
我想在发送它的地方取回值“HELLO”,这可能吗?
【问题讨论】:
【参考方案1】:调度是异步的,因此您在获得响应之前会进行控制台日志记录。你可以试试:
dispatch(
expensesActions.getExpenseList()
).then(result =>
// do stuff
console.log(result)
)
或
console.log(dispatch(expensesActions.getExpenseList()))
【讨论】:
以上是关于如何使用 redux 只取回一个值而不管理状态的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Python3 中向调用函数返回更多值并显示结果,目前它只打印第一个值而不增加? [复制]
如何使用 ConditionExpression 更新一个属性值而不影响其他属性 - DynamoDB