сервер и получил ошибку. Воспроизвел у себя но не могу понять проблему
Argument of type 'Partial<TState>' is not assignable to parameter of type 'NonNullable<Partial<TState>>'.
Вот сам код
export function toggleReducerFactory<TState, TValue = TState[keyof TState]>(actionPrefix: string, defaultValue: TState | null = null, clear?: () => Partial<TState> | null): Reducer<Partial<TState> | null> {
const constants: ToggleConstants = new Constants(actionPrefix);
const reducer: Reducer<Partial<TState> | null> = (state: Partial<TState> | null, action: ToggleActions<TValue>) => {
switch (action.type) {
case constants.toggle:
const { value, path } = action as ToggleAction<TValue>;
const previousVal = deepGet(state!, path!);
const newState = (elementsEqual(previousVal, value) || isElementEmpty(value))
? immutableObjectPath.del(state!, path!)
: immutableObjectPath.set(state!, path!, value);
return stateOrDefault(newState, defaultValue);
case constants.clear:
if (clear) {
return clear();
}
return defaultValue;
default:
return stateOrDefault(state, defaultValue);
}
};
return reducer;
}
Покажи определение NonNullable) А вообще, код, который ты скинул, достаточно бесполезен, потому что из него вообще не понятна проблема :) Попробуй воспроизвести свою проблему в https://www.typescriptlang.org/play/ и закинуть сюда, тогда буде тгораздо проще помочь тебе
Обсуждают сегодня