そのようなアクションを生成する場合:
export const updateParticularObjectValue = createAction(
UPDATE_PARTICULAR_VALUE,
(id: string, amount: number, reason: string = 'default') => {
return { id, value: amount, reason };
},
);
何らかの理由で、私の IDE (そして実際には、私の typescript コンパイラ) は、アクション作成者を呼び出すと、3 つ目の引数を明示的に渡すと 2 つの引数しか期待できないと不平を言っています。オプションでクリエーターに 3 番目の引数をとってもらいたいのですが... redux-actionscreateAction
関数を使用してこれを行う方法はありますか、それともアクション クリエーターを手動でビルドする必要がありますか?
PS -- この構文でも同じ結果が得られます。
export const updateParticularObjectValue = createAction(
UPDATE_PARTICULAR_VALUE,
(id: string, amount: number, reason?: string) => {
return { id, value: amount, reason: reason || 'default' };
},
);
3番目の引数を任意の方法で作成しても、typescriptに変換されないようです-存在しないものとして扱われ、関数の呼び出しはそれを含めることを禁止します. これを回避する方法はありますか?
PPS -- typescript コンパイラを「だます」ことができれば (私の場合は、react コンポーネントで「connect」を使用するときにコンポーネントの Props タイプで関数インターフェイスを定義することによって)、正常に動作しますが、コンパイラの匂いテストに合格しません。明示的に呼び出すとき - これが発生する本当の理由はないようです。
PPPS -- この時点で、実行可能な解決策を見つけました。ただし、これが createAction の typescript 実装の制限である理由と、この状況により優れた/よりスマートな代替ソリューションがあるかどうかについては、まだ興味があります。適切な説明は、私自身とおそらく他の人にとって教育的です。