createStore со строгой машинописью

import { createStore } from "redux";
import * as storage from "redux-storage";

const reducer = storage.reducer((state, action) => ({}));

const store = createStore(reducer, {});

При использовании вышеуказанного кода с strict включен для машинописи, я получаю следующее предупреждение:

[ts] Argument of type 'Reducer<{}>' is not assignable to parameter of type 'Reducer<{}, AnyAction>'.
       Types of parameters 'state' and 'state' are incompatible.
         Type '{} | undefined' is not assignable to type '{}'.
           Type 'undefined' is not assignable to type '{}'.

Я понимаю, что такое строгий режим TS, но я не понимаю, почему он интерпретирует мое состояние как потенциально undefined

Что я могу делать не так? Или как я мог справиться с ошибкой, не делая что-то ленивое, как as any?

1 ответ

Предоставленное значение состояния может быть неопределенным. Принуждение должно исправить вашу проблему. Например

const reducer = storage.reducer((state = {}, action) => ({}));
Другие вопросы по тегам