У меня настроен проект с React
, Redux
, Immutable.js
+ TypeScript
. Во время реализации я пытался как можно больше объявлять типы и обнаружил интересную проблему. Смотрите пример кода ниже:
Короткая конфигурация магазина редуксов
import { createStore } from 'redux';
import { combineReducers } from 'redux-immutable';
const rootReducer = combineReducers({...});
const store = createStore(rootReducer);
Где-то внутри компонента
// ...
const mapStateToProps = (state: ReturnType<typeof rootReducer>) => {
// state is plain object :(
};
При наведении на состояние в VS Code подсказка показывает, что состояние - это простой объект, но это не так. Это должна быть коллекция из Immutable.js
Как я могу получить правильный тип rootReducer
? Или что я делаю не так?
Скриншоты:
P.S. StateType
и ReturnType
делают то же самое