我的组合Reducers中可以有一个带有JavaScript Reducer的TypeScript Reducer吗


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

我正在尝试将TypeScript集成到大型代码库的一部分中。在上面的例子中,假设前两个reducer是JavaScript,最后一个是TypeScript。代码编辑器似乎建议我需要该文件为TypeScript,但当我这样做时,我在导入时会出现错误,它无法编译。

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

然后它似乎希望我将这两个JavaScript还原程序转换为TypeScript。这并不实用,因为我现在只想将这两个JavaScript还原器保留为JavaScript。如果我将文件保留为JavaScript,则会出现编译错误。我已经能够让TypeScript进行精细编译并将内容呈现到屏幕上,但仅仅与reducers集成似乎是个问题。

我的组合Reducers中可以有一个带JavaScript Reducer的TypeScript Reducer吗?如果可以,如何?

ps。以上只是一个例子,实际的组合reducers中有15个左右的减速器,现在将它们全部转换是不现实的。

您应该能够拥有JS+TS。请确保在tsconfig.json上启用了该选项:{"allowJs":true}https://www.typescriptlang.org/docs/handbook/compiler-options.html

编辑:还要确保你的bundler可以同时解析.ts和.js扩展。您可以测试将其添加到您的导入中以确保。

最新更新