我的CombineReducers中可以有一个带有JavaScript Reducers的TypeScript Reducer吗?

时间:2020-03-06 17:21:27

标签: javascript typescript redux-reducers

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 reducer保留为JavaScript。如果将文件保留为JavaScript,则会出现编译错误。我已经能够使用TypeScript进行编译并将其渲染到屏幕上,但是仅与reducer集成似乎是一个问题。

我可以在我的CombineReducers中使用一个带有JavaScript Reducers的TypeScript Reducer,如果可以的话,怎么办?

ps。以上只是一个示例,实际的CombineReducers中有15个左右的reducers,现在将它们全部转换是不实际的。

1 个答案:

答案 0 :(得分:0)

您应该可以使用JS + TS。 确保在tsconfig.json上启用了该选项: {“ allowJs”:true} https://www.typescriptlang.org/docs/handbook/compiler-options.html

编辑:还请确保捆绑程序可以解析.ts和.js扩展名。您可以进行测试以确保将其添加到导入中。