В чем разница между dispatch() и обычном вызове функции с диспатчами внутри?
Везде пишут, что redux-thunk делает диспатчи асинхронными, но без них на событие можно вызвать функцию с такими же асинхронными диспатчами. В чём прикол? и зачем они вообще нужны тогда?
Как только вы вынесете функцию, выполняющую асинхронное действие, за пределы компонента, вам понадобится самостоятельно пробрасывать в нее dispatch и getState. redux-thunk делает это за вас.