Я изучаю редукцию прямо сейчас, и я делал проект, в котором я выполнял аутентификацию 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);
}
};
однако, если я удалю ?
, ошибка исчезнет, и все будет работать нормально.
Я использую пакет npm react-google-login, и функция googleSuccess передается в качестве реквизита компоненту GoogleLogin.
если кто-то может объяснить это мне. просто иногда значение, которое я присваиваю, может не всегда быть там, и это может привести к сбою моего приложения, и для этого, поскольку необязательный оператор цепочки не работал, я использую тернарный оператор (если значение, которое нужно присвоить, отсутствует, я просто присваивая null
с помощью тернарного оператора (и я не уверен, что это нормально)). извините, если этот вопрос для новичка, я просто хотел уточнить, почему я не могу использовать ?. operator
, потому что я не мог найти ответы нигде. ps: сегодня я впервые использовал оператор ?.