Reactjs ReferenceError:无法在初始化之前访问{variable name}
我已将react scripts@^4.0.3以及typescript@~3.7.2更新为最新版本,但在运行npm run start时,出现以下错误: 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
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