Reactjs ReferenceError:无法在初始化之前访问{variable name}

Reactjs ReferenceError:无法在初始化之前访问{variable name},reactjs,typescript,tsconfig,react-typescript,react-scripts,Reactjs,Typescript,Tsconfig,React Typescript,React Scripts,我已将react scripts@^4.0.3以及typescript@~3.7.2更新为最新版本,但在运行npm run start时,出现以下错误: ReferenceError:无法在初始化之前访问{variable name} 我知道存在时间死区,但此应用程序在声明箭头函数的导出时没有问题,例如,事实上,我们使用以下语法声明大部分/所有函数: export const someFunc = () => {} 现在只允许我在申报后这样出口: 函数someFunction{}-或-c

我已将react scripts@^4.0.3以及typescript@~3.7.2更新为最新版本,但在运行npm run start时,出现以下错误:

ReferenceError:无法在初始化之前访问{variable name}

我知道存在时间死区,但此应用程序在声明箭头函数的导出时没有问题,例如,事实上,我们使用以下语法声明大部分/所有函数:

export const someFunc = () => {}
现在只允许我在申报后这样出口:

函数someFunction{}-或-const someFunction==>{} 导出{someFunction} 问题:在这些新的软件包更新中,如何允许导出速记函数表达式语法

文件名:tsconfig.json

{ 编译器选项:{ 目标:es5, 库:[ es2015, 多姆, 多姆·伊特拉布, 埃斯奈特 ], jsx:反应, baseUrl:src, 模块:esnext, 模块解决方案:节点, 严格:是的, 是的, 诺米特:是的, skipLibCheck:是的, 隔离模块:正确, esModuleInterop:正确, resolveJsonModule:true, allowSyntheticDefaultImports:true, ForceConsistentCasingFileName:true, noFallthroughCasesInSwitch:true, 是的, 实验者:是的 }, 包括:[ src ], 排除:[ /node_模块 ], 扩展:./tsconfig.path.json } 文件名:tsconfig.path.json

{ 编译器选项:{ baseUrl:./src, 路径:{ @src:[*], @页数:[页数], @pages/*:[pages/*], @挂钩:[核心/挂钩], @hooks/*:[core/hooks/*], @组件:[核心/组件], @components/*:[core/components/*], @容器:[容器], @容器/*:[containers/*], @服务:[核心/服务], @服务/*:[core/services/*], @配置:[核心/配置], @configs/*:[core/configs/*], @资产:[核心/资产], @资产/*:[核心/资产/*], @型号:[核心/型号], @模型/*:[core/models/*], @存储:[核心/存储], @store/*:[core/store/*], @utils:[核心/utils], @utils/*:[core/utils/*], @样式:[核心/样式], @样式/*:[核心/样式/*] } } } 文件名:craco.config.js

const cracolias=requireraco别名 module.exports={ 插件:[ { 插件:CracoAlias, 选项:{ 资料来源:Tconfig, baseUrl:./src, tsconfig路径:./tsconfig.path.json } } ] } 文件名:package.json

{ 名称:ui, 版本:0.1.0, 二等兵:是的, 依赖项:{ @craco/craco:^6.1.2, @更漂亮的/插件xml:^0.12.0, @测试库/jest dom:^4.2.4, @测试库/反应:^9.5.0, @测试库/用户事件:^7.1.2, @类型/引导:^4.5.1, @类型/类名:^2.2.11, @类型/调试:^4.1.5, @类型/笑话:^24.9.1, @类型/jquery:^3.5.5, @类型/详细信息:^4.14.168, @类型/节点:^12.19.15, @类型/反应:^16.14.2, @类型/反应dom:^16.9.10, @类型/反应头盔:^5.0.16, @类型/反应重复次数:^7.1.15, @类型/响应路由器dom:^5.1.7, @类型/反应选择:^3.1.2, @类型/反应表:^7.0.27, 引导:^4.6.0, 类名:^2.2.6, 核心js:^3.12.1, 调试:^4.3.1, 文件选择器:^0.1.19, 哈士奇:^4.3.8, I18下一步:^19.8.4, 伊默:^6.0.9, jquery:^3.5.1, 林特分期:^10.5.3, 节点sass:^4.14.0, 更漂亮:^2.2.1, 反应:^17.0.2, 反应引导:^1.4.3, 反应dom:^16.14.0, 反应区:^10.2.2, 反应头盔:^6.1.0, react-i18下一步:^11.8.5, 反应还原:^7.2.2, 反应路由器dom:^5.2.0, 反应脚本:^4.0.3, 反应选择:^3.1.1, 反应表:^7.6.3, redux thunk:^2.3.0, 类型脚本:~3.7.2 }, 脚本:{ 开始:浏览器=无craco开始, 构建:npm运行检查和craco构建, 测试:craco测试, 覆盖率:CI=真实npm测试--颜色-覆盖率, check:prettier-check\src/***.{js,jsx,ts,tsx,json,css,scss,md,xml,svg}, 格式:prettier-write\src/***.{js,jsx,ts,tsx,json,css,scss,md,xml,svg}, 弹出:反应脚本弹出 }, 浏览者:{ 制作:[ >0.2%, 没有死, 不完全是 ], 发展:[ 最后一个chrome版本, 最后一个firefox版本, 最后1个safari版本 ] }, 笑话:{ 搬运工:[ 文本 html ], 模块映射:{ react-i18next:/_mocks\u u/react-i18next.js, ^文件加载器:/\uuuu mocks\uuuu/file-loader.js }, 重置模拟:错误 }, 更漂亮:{ 是的, jsxSingleQuote:true }, 林特舞台:{ src/***.{js,jsx,ts,tsx,json,css,scss,md,xml,svg}:[ 写得更漂亮 ] }, 哈士奇:{ 挂钩:{ 预提交:lint暂存 } }, 依赖性:{ @巴别塔/核心:^7.14.3, craco别名:^3.0.0 } }
您可以这样导出它:const someFunc
= => {} ... export{someFunc}跳过一两行。@MattCroak实际上是的,我可以这样做,所以它实际上不喜欢export const someFunc