如何解决代码中出现的未捕获语法错误(Unexpected token)?
问题分析与解决
你的代码出现Unexpected token错误,核心原因是使用了可选链操作符?.,但当前测试环境的JS解析器不支持ES2020及以上语法标准(从错误截图的位置也能确认,解析器无法识别?.这个语法)。
解决办法
方案1:升级/配置编译工具支持可选链
- 如果你用Create React App,确保项目版本在
react-scripts@3.3.0及以上(该版本默认支持可选链); - 手动配置Babel的话,安装
@babel/plugin-proposal-optional-chaining插件,并在Babel配置文件中添加该插件。
方案2:替换为兼容旧环境的写法
把代码里的dataUser?.partnerId替换为传统的短路判断写法:
const { data: dataUser, isLoading: isLoadingUser, isError: isErrorUser } = useUser() const { data, isLoading, isFetching, isError } = useCustomers(dataUser && dataUser.partnerId)
内容的提问来源于stack exchange,提问作者user10863293
相关产品推荐
相关产品推荐

