maisteRR
@maisteRR
ищу в себе front-end разработчика

Почему redux не хочет диспатчить action после delete запроса?

Вопрос простой.
Вот этот код работает:
export const removeTask = (data) => {
    return axios.delete(`http://localhost:3333/tasks/${data}`)
            .then((res) => {
                console.log(res)
                axios.get('http://localhost:3333/tasks')
                .then((res) => (
                    console.log(res);
                ))
            })
            .catch()
    }

А этот нет:
export const removeTask = (data) => {
    return dispatch => {
        axios.delete(`http://localhost:3333/tasks/${data}`)
            .then((res) => {
                console.log(res)
                axios.get('http://localhost:3333/tasks')
                .then((res) => (
                    dispatch(setTasks(res.data))
                ))
            })
            .catch()
    }
}

dispatch игнорируется просто и axios.delete не вызывается, а в первом варианте запрос на бэк проходит и в консоль приходит ответ
Подскажите, пожалуйста, почему и как можно решить?
  • Вопрос задан
  • 104 просмотра
Пригласить эксперта
Ответы на вопрос 3
Krasnodar_etc
@Krasnodar_etc
little front
Как вы вызываете removeTask ?
Ответ написан
@abberati
frontend-разработчик
Тарас Майстер,
()=>{
  props.onRemove(props.id)
}


props.onRemove возвращает функцию, которая принимает dispatch и при вызове делает запросы. кто вызывает эту функцию? кто передаёт ей dispatch? точно не вы

самый простой вариант вот такой, в лоб:
<Icon bordered name='remove' color='red' link onClick={()=>{
    props.onRemove(props.id)(dispatch)
}} />


как вы в родителе получите dispatch – отдельный разговор

признавайтесь – откуда-то скопипастили и не понимаете, что написано, да?

upd: а, я кажется, понял – вы используете redux-thunk и пытаетесь реализовать асинхронные экшены, но не дочитали документацию. я прав?
Ответ написан
maisteRR
@maisteRR Автор вопроса
ищу в себе front-end разработчика
Ещё не решил проблему, подскажите, пожалуйста куда смотреть и где искать
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Myagi Минск
от 3 000 до 4 000 usd.
iBolit.pro Москва
от 170 000 до 250 000 руб.
ManyChat Москва
от 180 000 руб.
21 нояб. 2019, в 10:21
140000 руб./за проект
21 нояб. 2019, в 09:33
500 руб./за проект
21 нояб. 2019, в 09:12
3001 руб./за проект