То, с чем вы сталкиваетесь, является прямым результатом асинхронной природы React в целом. Вы не можете остановить рендеринг экрана входа в систему (другими словами, функция render()
не может быть остановлена). Но то, что вы можете сделать, это то, что вы можете вставить данные в sessionStorage
и затем, как только они будут установлены, изменить некоторую переменную в состоянии компонента. Это заставит компонент повторно выполнить рендеринг, но на этот раз вам будут введены данные. Итак, вот шаги:
1.) Пусть он рендерит первым (вы не можете остановить его, и его остановка в любом случае является анти-паттерном).
2.) Введите данные так, как вам нужно.
3.) Измените state
компонента, как только будет выполнен шаг 2.
Все это должно происходить очень быстро и не должно быть видно конечному пользователю, imo.