1
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 很好地编译并将内容渲染到屏幕上,但只是与减速器集成似乎是一个问题。

我的 combineReducers 中是否可以有一个带有 JavaScript Reducers 的 TypeScript Reducer,如果可以,怎么做?

附言。以上只是一个示例,实际的 combineReducers 中有 15 个左右的 reducer,现在将它们全部转换是不切实际的。

4

1 回答 1

0

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

编辑:还要确保您的捆绑器可以解析 .ts 和 .js 扩展名。您可以测试以将其添加到您的导入中以确保。

于 2020-03-06T17:24:20.367 回答