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) => ({}));