В настоящее время я работаю с этой настройкой (упрощенной для удобства чтения):
Reaction_on_rails 11.1.4
Контроллер макета (метод индекса):
redux_store('appStore', props: { foo: 'bar' })
Макет:
<%= redux_store_hydration_data %> (before close of body tag)
Вид:
<%= react_component('FooBar') %>
Компонент (FooBar):
ReactOnRails.getStore('appStore');
JavaScript (main.js):
ReactOnRails.registerStore({ appStore });
Если я проверяю источник, данные и компонент, по-видимому, присутствуют:
<div id="FooBar-react-component-fb8d03cb-b3d3-4247-8b4b-3e5a2ad52f84"></div>
<script type="application/json" class="js-react-on-rails-component" data-component-name="FooBar" data-trace="true" data-dom-id="FooBar-react-component-fb8d03cb-b3d3-4247-8b4b-3e5a2ad52f84">{}</script>
<script src="/main.js"></script>
<script type="application/json" data-js-react-on-rails-store="appStore">{"foo":"bar"}</script>
Однако сам компонент не выполняет рендеринг из-за следующих фатальных ошибок:
Uncaught Error: There are no stores hydrated and you are requesting the store appStore...`
Uncaught Error: Could not find store registered with name 'appStore'. Registered store names include...
Насколько я могу судить, установка соответствует тому, что было изложено в документации, поэтому мне интересно, является ли это какой-то ошибкой.Я попытался поместить вызов на redux_store
как в контроллере, так и в представлении, переместить другие вызовы в другие файлы и местоположения и т. Д. Безрезультатно.
Любая помощь очень ценится, заранее спасибо!