如何在 React Actions Redux 中获取状态数据?
How can I get state data inside React Actions Redux?
我有一个操作调用另一个需要一些状态数据的函数。我无法将该状态数据传递给操作,因为函数将是 dispatching/updating 状态,因此它将是一个无限循环。相反,我想访问我拥有的全球商店。
操作
export function handleCustomersExtraFunctionality() {
return function (dispatch) {
Call another function(stateData)
//How can I get access to the stateData inside an action creater function
}
我的组件调用 handleCustomersExtraFunctionality 但我无法传递状态,因为它将在此函数中更新,而该函数又会再次调用我的组件。所以我想访问状态数据。
随时访问状态数据的最佳方式是什么?
Redux 将第二个参数传递给所有名为 getState
的动作创建者。这本身就是一个函数,您可以调用它来获取当时的全局状态对象:
export function handleCustomersExtraFunctionality() {
return function(dispatch, getState) {
const currentState = getState();
// Do what you want with current state
dispatch({ type: SOME_TYPE, payload });
}
}
我有一个操作调用另一个需要一些状态数据的函数。我无法将该状态数据传递给操作,因为函数将是 dispatching/updating 状态,因此它将是一个无限循环。相反,我想访问我拥有的全球商店。
操作
export function handleCustomersExtraFunctionality() {
return function (dispatch) {
Call another function(stateData)
//How can I get access to the stateData inside an action creater function
}
我的组件调用 handleCustomersExtraFunctionality 但我无法传递状态,因为它将在此函数中更新,而该函数又会再次调用我的组件。所以我想访问状态数据。 随时访问状态数据的最佳方式是什么?
Redux 将第二个参数传递给所有名为 getState
的动作创建者。这本身就是一个函数,您可以调用它来获取当时的全局状态对象:
export function handleCustomersExtraFunctionality() {
return function(dispatch, getState) {
const currentState = getState();
// Do what you want with current state
dispatch({ type: SOME_TYPE, payload });
}
}