реагировать, извлекать, удалить localStorage, если ключ jwt неверен - PullRequest
0 голосов
/ 11 июля 2020

Я использую реакцию и пытаюсь получить данные из моего API

Кроме того, я использую JWT

Все работает хорошо, за исключением некоторых проблем, когда токен JWT истек

в PostMan работает хорошо, у меня возникает ошибка 403, когда я пытаюсь отправить неправильный токен

Но я не могу обработать эту ошибку в приложении React.

Я предполагаю, что я должен поймать эту ситуацию в этом блоке ".catch (error => {"

Но это не работает

Если я удалю комментарий из localStorage.clear (), я не смогу установить значение в localStorage. И я всегда буду падать на ".catch (error => {"

Помогите, пожалуйста.

Как правильно отловить ошибку 403 в выборке?

    useEffect(() => {
    const mainkey = localStorage.getItem('mainkey')
    fetch("http://127.0.0.1:8000/home", {
        method: "GET",
        headers: {
            'Content-Type': 'application/json',
            Accept: 'application/json',
            'Token': mainkey
        }
    })
    .then(response => response.json())
    .then(funds => {
        setTimeout(() => {
            setFunds(funds)
            setLoading(false)
        }, 0)
    })
    .catch(error => {
        // Handle error.
        console.log('An error occurred:', error)
        history.push({
            pathname: '/login',
            state: { detail: "sdf" },
        })

        // localStorage.clear()
    })
}, [history])
...