プロジェクトでサガを適用し始めたところです。現在、どこかで立ち往生しています。 sagaを使用して、呼び出し関数に引数を渡す必要があります。
これが佐賀県内の私のジェネレーター関数です:
public* loadUsers() {
const context = this;
yield takeLatest("users/LOAD_USERS_REQUEST", function* (params) {
const data = yield call([context.userService, context.userService.loadUsers]);
yield put("users/LOAD_USERS_SUCCESS", data));
});
}
params
変数をUserService.loadUsers
メソッドに渡す必要があります。
これどうやってするの?
乾杯。
call
関数の定義によれば、
interface CallEffectFactory<R> {
(fn: CallEffectFn<Func0>): R;
<T1>(fn: CallEffectFn<Func1<T1>>,
arg1: T1): R;
<T1, T2>(fn: CallEffectFn<Func2<T1, T2>>,
arg1: T1, arg2: T2): R;
....
CallEffectFn
パラメータの後に引数を受け入れることがわかります。
したがって、あなたのケースでは、次のようにparams
変数をcall
関数の2番目の引数として渡すことができます。
public* loadUsers() {
const context = this;
yield takeLatest("users/LOAD_USERS_REQUEST", function* (params) {
const data = yield call([context.userService, context.userService.loadUsers],params);
yield put("users/LOAD_USERS_SUCCESS", data));
});
}