Я уже два дня пытаюсь решить проблему которая у меня произошла при кастомизации
данного туториала под свою задачу, и в бессилии решил спросить здесь. Сам туториал получился без проблем.
Мой компонент просто выводит данные из бд в виде списка, и по интервалу подгружает по АПИ новые данные - элементарная задача, которую я реализовал с помощью реакта, но я захотел рендерить компонент предварительно на сервере. И вот в чем суть проблемы, на сервере я успешно рендерю мой реакт компонент передавая ему данные из БД, но на клиенте данные из БД получаются через некоторое время (пока АПИ запрос пройдет), и получается, что у меня на странице сначала отображается все как надо, потом все пропадает на доли секунды (срабатывает render реакта на клиенте с пустыми state и props) и потом когда ответ от сервера приходит клиенту, снова все в порядке.
И я никак не могу понять как заставить react не рендерить ничего, пока он не получит данные от сервера, ну и если эти данные совпадают, то по идеи react и не должен ничего рендерить, чек-сумма совпадет, но вот в самом начале, когда ответа еще нету, чек-сумма естественно всегда не совпадает и реакт на клиенте рендерит пустой элемент.
Логика вроде здравая: реакт на сервере рендерит список с данными, реакт на клиенте ждет ответа от сервера на get api запрос, и если данные отличаются реакт изменяет DOM.
Но вся проблема, что реакт всегда взывает render в самом начале, а в самом начале ответ от сервера естественно еще не пришел. Например можно послать get запрос в componentWillMount, но как заставить init render подождать выполнения этого запроса я не знаю..
Заранее спасибо за ваши ответы, надеюсь я с горем пополам смог выразить суть своей проблемы.
UPD: Как возможный вариант решения, это поместить мои данные на страницу в виде json, тогда я смогу использовать такие же props для инициализации на клиенте как на сервере , но не топорно ли это?