Зависит от природы вычислений. Я использую redux thunk для подготовки данных перед отправкой на сервер, получения и преобразования ответа от сервера и дальнейшего вызова dispatch с данными, которые нужно положить в стор. Редюсеры можно использовать для мерджа изменений с текущим состоянием, здесь нельзя делать асинхронные запросы и лучше избегать сложных вычислений. Преобразование данных из стора (фильтрация, сортировка) лучше делать в функциях селекторах с использованием reselect.