私はフルースに関するいくつかの例があります:
function authFormSubmit(fluce) {
const {valid, disabled, data: {username, password}} = fluce.stores.authForm
if (disabled) return
if (!valid) {
fluce.dispatch(AUTH_FORM_ERROR, new Error('Form is invalid'))
return
}
fluce.dispatch(AUTH_FORM_DISABLED, true)
fluce.dispatch(AUTH_FORM_ERROR, null)
authorize({username, password})
.then(
user => fluce.dispatch(CURRENT_USER, user),
error => fluce.dispatch(AUTH_FORM_ERROR, error)
)
.then(
() => fluce.dispatch(AUTH_FORM_DISABLED, false)
);
}
同じアクションクリエーターをreduxに実装するにはどうすればよいですか? すべてのアクションタイプに対してアクションクリエーターを作成する必要がありますか?
おそらくアクションクリエーターに関数を返させたいと思います。 関数の場合は、 dispatch
と状態が与えられます。
上記のように非同期ACのサポートを追加しました。 今のところ、彼らは状態にアクセスできません。おそらくいつか戻ってくるでしょうが、APIを急いでやりたくありません。
更新:あなたは今これを行うことができます。
// Could also look into state in the callback form
export function incrementIfOdd() {
return (dispatch, state) => {
if (state.counterStore.counter % 2 === 0) {
return;
}
dispatch(increment());
};
}
最も参考になるコメント
おそらくアクションクリエーターに関数を返させたいと思います。 関数の場合は、
dispatch
と状態が与えられます。