redux-saga函数如何从状态/存储中获取东西?
如何在saga函数中访问redux状态?
import { select } from 'redux-saga/effects';...
let data = yield select(stateSelectorFunction);
回答:
正如@markerikson已经说过的那样,它redux-saga
公开了一个非常有用的API select()
来调用selector
状态,以便在传奇中获取部分状态。
对于您的示例,一个简单的实现可以是:
/* * Selector. The query depends by the state shape
*/
export const getProject = (state) => state.project
// Saga
export function* saveProjectTask() {
while(true) {
yield take(SAVE_PROJECT);
let project = yield select(getProject); // <-- get the project
yield call(fetch, '/api/project', { body: project, method: 'PUT' });
yield put({type: SAVE_PROJECT_SUCCESS});
}
}
除了@markerikson
建议的文档之外,D。Abramov还提供了一个非常好的视频教程,其中介绍了如何selectors
与Redux
一起使用。在Twitter上也请检查这个有趣的线程。
以上是 redux-saga函数如何从状态/存储中获取东西? 的全部内容, 来源链接: utcz.com/qa/419523.html