您可能需要一个合适的加载器来处理这种文件类型。当我在我的 create-react-app 项目中使用可选的链接运算符时

You may need an appropriate loader to handle this file type. When i use optional chaining operator in my create-react-app project

我现在正在学习 redux,我正在做一个项目,我正在做一个 google oAuth 身份验证。所以当我尝试使用可选的链接运算符时,我得到了这个错误。

You may need an appropriate loader to handle this file type.
|           switch (_context.prev = _context.next) {
|             case 0:
>               result = res?.profileObj;
|               token = res.tokenId;

这是给我错误的代码

const googleSuccess = async (res) => {
        const result = res?.profileObj;
        const token = res?.tokenId;
        try {
            dispatch({ type: AUTH, data: { result, token } });
            history.push('/');
        } catch (error) {
            console.log(error);
        }
    };

但是,如果我删除 ?,错误就会消失并且工作正常。

我正在使用 react-google-login npm 包并且 googleSuccess 函数作为 props 传递给 GoogleLogin 组件。

如果有人可以向我澄清一下。只是有时候,分配的值可能并不总是存在,它可能会使我的应用程序崩溃,为此,由于可选的链接运算符不起作用,我正在使用三元运算符(如果要分配的值不存在,我只是使用三元运算符分配 null。(我不确定这是否可行)。 抱歉,如果这个问题是新手,我只是想澄清一下为什么我不能使用 ?. operator 因为我在其他地方找不到答案。 ps:今天是我第一次使用 ?. 运算符

这是因为新语法导致 webpack 无法正确解析文件。如果您使用 webpack 从头开始​​完成 react-app 设置。那我建议你升级 webpack 。如果您正在使用 create-react-app ,那么您应该升级到最新版本的 CRA 。

Webpack Optional Chaining Issue