Могу ли я использовать один редуктор TypeScript с редукторами JavaScript в моем combReducers?

export default combineReducers({
todosReducer,
calculatorReducer,
dateReducer,
});

Я пытаюсь интегрировать TypeScript в свою большую кодовую базу. В приведенном выше примере представьте, что первые два редуктора - это JavaScript, а последний - TypeScript. Редактор кода, кажется, предлагает мне, чтобы файл был TypeScript, но когда я это делаю, я получаю ошибки при импорте, и он не компилируется.

import todosReducer from './todosReducer';
import calculatorReducer from './calculatorReducer';
import dateReducer from './dateReducer';

Затем мне кажется, что мне нужно преобразовать два редуктора JavaScript в TypeScript. Это непрактично, поскольку я хочу пока оставить только два редуктора JavaScript как JavaScript. Если я оставлю файл как JavaScript, я получу ошибки компиляции. Мне удалось заставить TypeScript правильно компилировать и отображать материал на экране, но простая интеграция с редукторами кажется проблемой.

Могу ли я иметь в моем combReducers один редуктор TypeScript с редукторами JavaScript, и если да, то как?

пс. Вышеприведенный пример - это всего лишь пример, в котором на самом деле CombineReducers есть около 15 редукторов, и преобразовывать их все сейчас непрактично.

1 ответ

У вас должен быть JS + TS. Убедитесь, что в вашем tsconfig.json включена эта опция: {"allowJs": true}https://www.typescriptlang.org/docs/handbook/compiler-options.html

Изменить: также убедитесь, что ваш сборщик может разрешать расширения.ts и.js. Вы можете протестировать, чтобы добавить его в свой импорт, чтобы убедиться.

Другие вопросы по тегам