0

我现在正在学习 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 函数作为道具传递给 GoogleLogin 组件。

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

4

1 回答 1

2

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

Webpack 可选链接问题

于 2021-05-23T17:22:54.130 回答