Я выполняю рендеринг на стороне сервера, используя React / Redux.
Чтобы передать данные Redux внешнему интерфейсу, я сериализую их в JSON в теге сценария, который гидратируется на клиенте вhead:
<script>window.INITIAL_REDUX_STATE=${JSON.stringify(store.getState())};</script>
Некоторые проблемы с этим:
состояние очень большое (к сожалению, «просто уменьшите его» не является решением), то естьклиент должен загрузить значительный объем данных
время десериализации на клиенте нетривиально
, поскольку он находится в теге сценария, браузер блокирует ожидание его загрузки.Частично это неизбежно, поскольку состояние влияет на пользовательский интерфейс
Существует ли более быстрый и / или более компактный способ сериализации и повторной сериализации иерархии объектов Javascript (BLOB-объектов, протобаффов и т. Д.)) что подходит для этого варианта использования?