typescript - Hur typa egenskaper i sammanslagande objekt för getInitialState av createEntityAdapter-objekt?


Jag vill skriva status med typen FetchingStatus. Hur implementerar man det?

type FetchingStatus = 'idle' | 'loading' | 'succeeded' | 'failed';

const initialState = companyPagesAdapter.getInitialState({
        status: 'idle',
        perPage: 1,
        lastPage: 1
    });

här är signaturen för getInitialState:

getInitialState<S extends object>(state: S): EntityState<T> & S

Svar #1

type FetchingStatus = "idle" | "loading" | "succeeded" | "failed";
    
    
interface ExtendedEntityAdapterState {
    status: FetchingStatus
    perPage: number,
    lastPage: number
}

const initialState: ExtendedEntityAdapterState   = {
  status: 'idle',
  perPage: 1,
  lastPage: 1
});

companyPagesAdapter.getInitialState(initialState)

Något liknande detta fungerade för mig. Reducer-åtgärden ger korrekta begränsningar.