Они не медленные. Дело в том, где располагается код, который вызовет редирект. Если он находится в конце страницы, то до выполнения кода сначала (внезапно) отрендерится страница, а потом произойдёт редирект. Если скрипт находится в head, то тело страницы не успеет отрисоваться до редиректа. Читайте учебник по DOM.
Стейт менеджер нужен для консистентного управления состоянием приложения, внезапно.
Если вы не пользуетесь менеджером состояния в реакт-приложении, то либо используете контекст (вот хорошее объяснение, почему на проде так делать не нужно), либо пишете заведомо неподдерживаемое приложение. Ну или ваше приложение — это игра в крестики-нолики с двумя полями в стейте корневого компонента.
Большие приложения нельзя писать без стейт-менеджера — это выльется в огромную неподдерживаемую кучу спагетти.
Потому что сначала уходит ответ, сервера, а потом происходит получение данных из базы. Переместите код ответа внутрь коллбэка получения данных из базы.
Никак. Сначала выполняется синхронный код, потом асинхронный. Можете завершение положить в коллбэк, тогда оно выполнится асинхронно после обработки данных.
Вы в корне ошибаетесь. Изменение всего стейта произойдёт, да. Но перерисовка всех компонентов — нет. В редаксе селекторы-подписки не вызываются, если не поменялся их кусок стейта. А для более полного контроля есть мемоизированные селекторы. Проверьте сами — гуглить, как в хроме включить flash on painting.