gpt4 book ai didi

javascript - 在External js和React js/Redux之间传递数据

转载 作者:行者123 更新时间:2023-12-03 01:15:26 26 4
gpt4 key购买 nike

我已将 React-redux 集成到 externalJs 应用程序中(基于自定义 JS 框架构建)。我需要从 externalJS 设置 redux 存储的初始数据,但是 externalJs 无法访问 react 存储来设置数据。当根reactJS组件安装在DOM上时,存储会被触发,但我需要在其安装在DOM上之前设置初始数据。我引用了以下链接,但他们无法解决我的问题。有人可以告诉我我缺少什么吗?

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

Accessing react components outside

我正在使用 webpack,使用 redux 来响应 16.1

index.js 中给出的示例根组件结构

render() {

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

最佳答案

我假设您正在尝试将 EmailComponent 和“存储”公开给 DOM 和其他框架,因为您是在全局窗口对象上声明它。 React.render 有一个回调作为第三个参数,您可以使用它来了解 React App 何时安装到 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>
);
}

关于javascript - 在External js和React js/Redux之间传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52038605/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com