Проверка неопределенного в React Native - PullRequest
0 голосов
/ 29 мая 2020

У меня ситуация, когда я пытаюсь передать некоторые параметры через onPress на другой экран. Однако я не могу зафиксировать состояние Undefined, и это дает мне ошибку красного экрана -

Ошибка типа: undefined не является объектом.

Вот мой фрагмент. Я что-то упустил?

const pressHandle = (item) => {
        const capVal = state.payload.find((grabVal) => grabVal.jobId === item.jobId).jobId;

        console.log(capVal); // in a defined case, I have a log so the query is correct.

        if( typeof(capVal) !== undefined || typeof(capVal) != null ) {
            setGrabber(capVal);
        } else {
            setGrabber('undefined!');
        }
        console.log(grabber);
}

1 Ответ

0 голосов
/ 29 мая 2020

Вам просто нужно выполнить нулевую проверку, ваша ошибка, вероятно, появляется из-за доступа к свойству неопределенного элемента при поиске элемента.

Добавление? .JobId будет обращаться к jobId, только если элемент найден а затем вы можете проверить, будет ли (capVal) запускаться, если capVal имеет значение

const pressHandle = (item) => {
        const capVal = state.payload.find((grabVal) => grabVal.jobId === item.jobId)?.jobId;

        console.log(capVal); // in a defined case, I have a log so the query is correct.

        if(capVal) {
            setGrabber(capVal);
        } else {
            setGrabber('undefined!');
        }
        console.log(grabber);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...