React native 如何正确使用redux saga putResolve

React native 如何正确使用redux saga putResolve,react-native,redux,redux-saga,React Native,Redux,Redux Saga,我正在尝试对API调用进行排序,以便调用端点,等待其成功,然后从状态中选择所需的值 我对redux传奇非常陌生,我发现很难理解如何实现这一点 我所尝试的: 因此,我们在执行API调用时尝试并阻止: const resp = yield putResolve(assistantActions.fetchSustainability()); 在后面的代码中,我们选择状态外的更新值: const assistant = yield select(getAssistant); 所调用的操作如下所示:

我正在尝试对API调用进行排序,以便调用端点,等待其成功,然后从状态中选择所需的值

我对redux传奇非常陌生,我发现很难理解如何实现这一点

我所尝试的:

因此,我们在执行API调用时尝试并阻止:

const resp = yield putResolve(assistantActions.fetchSustainability());
在后面的代码中,我们选择状态外的更新值:

const assistant = yield select(getAssistant);
所调用的操作如下所示:

export const fetchSustainability = () => ({ type: FETCH_SUSTAINABILITY });
在故事中,我们:

yield takeEvery(FETCH_SUSTAINABILITY, fetchSustainability);
然后该函数返回一个承诺:

function fetchSustainability() {
    return axios.get(`${url}/sustainability`);
}
我不确定我是否在右边的任何地方设置了它,因为我已经做了很多更改,试图让它工作

select语句立即执行,由于调用未被阻止,因此状态未正确更新


我的方法正确吗?如果没有,则有人能够提供如何实现阻塞调用的简单工作示例。

您的操作
应该返回一个承诺

下面是一个示例,它突出了put和putResolve之间的区别


示例使用
thunkMiddleware

您的操作
应该返回承诺

下面是一个示例,它突出了put和putResolve之间的区别

该示例使用
thunk中间件