Пишу на react и redux и только сейчас задумался зачем импользовать middleware если можно просто к componentDidMount сделать асинхронный запрос и потом его диспачить как обычный actioncreator ?
И можно вызвать любую другую функцию и потом как она вернет ответ уже диспачит данные ?
зачем тогда использовать redux-thunk redux-saga
1. Потому что хуки в React появились в версии 16.8, а redux-thunk, redux-saga раньше и тому кто их уже использует придется переписать работающий код.
2. Сами по себе подходы все же разные. И если у тебя работает один подход и работает хорошо, чем другой будет лучше?
redux-thunk и redux-saga созданы для удобного поддержания транзакций, когда необходимо например обработать цепочку асинхронных запросов, + это все выносится в отдельный слой логики, позволяя сконцентрироваться на ней в одном месте, а на ui в другом