アクションクリエーターへのデフォルトの引数を持つという望ましくない副作用はありますか?また、アクション作成者の中でObject.assign
を使用していますか?Reduxアクション作成者のデフォルトの引数
たとえば、私たちはnotify()
というアクションクリエイターがあり、私たちの店に通知を作成します。
これらの通知にデフォルトの引数が必要ですが、これを処理する別の機能のcreateNotice
があります。
私たちの行動は、次のようにルックスを作成します。
export function notify(notification) {
return {
type: ADD,
notification,
};
}
そして、我々のcreateNotice
は次のようになります。私は本当に嫌いはcreateNotice
とnotify
をインポートするプラスのすべてのために派遣するnotify
をバインドする必要が
export function createNotice(title = '', message, level = 'info', settings = {}) {
return merge({}, {
title,
message,
key: (new Date).getTime(),
action: 'Dismiss',
dismissAfter: 5000,
className: level,
}, settings);
}
これを使用して以下を実行するコンポーネント:
<Button onClick={() => nofity(createNotice('Something Happened', 'I think it worked!'))} />
イドではなく、次のようなもの:のようなアクションの作成者を有するスルー
<Button onClick={() => nofity('Something Happened', 'I think it worked!')} />
:
export function notify(notice) {
return {
type: ADD,
createAction(notice),
};
}
しかし、それは私にはReduxのアンチパターンのように感じていますか?