Reputation: 1228
I would like to create a reducer with typescript!
paymentReducer.tsx
let initialState = {
saved: [],
};
export interface Payment {
saved: ISavedPayment[];
}
export let payment = (
state = initialState,
{ type, payload }: PaymentActions
): Payment => {
switch (type) {
case SAVED_PAYMENTS_LOADED:
return { ...state, saved: payload };
default:
return state;
}
};
No errors! But the type of saved
array in state
parameter of reducer becomes never
. But it should be ISavedPayment[]
?
(parameter) state: { saved: never[]; }
Upvotes: 2
Views: 2265
Reputation: 26094
Specify the type of initialState explicitly:
const initialState: { saved: ISavedPayment[] } = {
saved: [],
};
See also:
Upvotes: 2