Передача данных между внешним js и React js / Redux - PullRequest
0 голосов
/ 27 августа 2018

Я интегрировал React-redux в приложение ExternalJs (построенное на собственной платформе JS). Мне нужно установить исходные данные для избыточного хранилища из externalJS, но externalJs не может получить доступ к хранилищу реагирования для установки данных. Хранилище запускается, когда корневой компонентactJS монтируется на DOM, но мне нужно установить исходные данные до его Монтирования на DOM. Я сослался на следующие ссылки, но они не смогли решить мою проблему. Может кто-нибудь сказать мне, что мне не хватает?

https://brettdewoody.com/accessing-component-methods-and-state-from-outside-react/

Доступ к реактивным компонентам снаружи

Я использую веб-пакеты, реагирую на 16.1 с избыточным

образец структуры корневого компонента, приведенный ниже в index.js

render() {

        return (
            <Provider store={store}>
                <Email ref={(EmailComponent) => { window.EmailComponent = EmailComponent }} />
            </Provider>
        );
    }

1 Ответ

0 голосов
/ 27 августа 2018

Я предполагаю, что вы пытаетесь выставить EmailComponent и 'store' для DOM и других сред, так как вы объявляете его в глобальном окне объекте. React.render имеет обратный вызов в качестве третьего параметра, который вы можете использовать, чтобы узнать, когда приложение React монтируется в DOM.

ReactDOM.render(<App />, document.getElementById('root'), function () {
  // now the root React App is mounted and the data from it will be available
  // your window.EmailComponent and window.store should now be avialable
  console.log(window.EmailComponent, window.store)

})



render() {
  window.store = store
        return (
            <Provider store={store}>

                <Email ref={(EmailComponent) => { window.EmailComponent = EmailComponent }} />
            </Provider>
        );
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...