@EmKotlety

Как правильно воспользоваться хуком useHistory?

При попытку переадресации получаем ошибку "Invalid Hook Call Warning". Все способы с версиями react и router-dom пересмотрел. Может чего не доглядел. Без useHistory все работало
export const createPostFunction = (form) => {
    
    return async dispatch => {
        let history = useHistory()
        dispatch(setLoader()) 
        try {
            const response = await axios.post(`http://localhost:5000/api/auth/create`,
            {...form},
            {headers:{Authorization:`Bearer ${localStorage.getItem('token')}`}},
                
            )
            const newPost = response.data.post
            dispatch(createPost(newPost))
            console.log('мы тута2')
            
            history.push('/links')
            localStorage.setItem('token', response.data.token)
        } catch (e) {
            dispatch(disableLoader());
            console.log(e)
            
        }
    }
}
  • Вопрос задан
  • 126 просмотров
Решения вопроса 1
vovaspace
@vovaspace
Frontend Engineer
Хук должен вызваться при рендере компонента, причём при каждом. У вас явно не так. Используйте useHistory в самом компоненте, а в эту функцию передайте через аргумент.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы