【发布时间】:2015-06-27 09:17:45
【问题描述】:
背景
我希望实现一个通量存储来管理异步 3rd 方脚本(当前用例是谷歌地图 API)
我希望能够让我的地图组件与商店一起检查 api 状态并以这种方式管理外部脚本,而不是将它们内联以始终加载,仅在第一个组件需要时加载脚本
它只会做类似的事情:
script = document.createElement('script')
script.async = 'async'
script.src = src
script.onload = () =>
// update state and emmit change event
document.getElementsByTagName('head')[0].appendChild(@script)
问题
谷歌地图脚本接受一个回调,该回调将在脚本初始化后运行,这是我要更新我的商店的地方。
此回调需要全局存在于窗口中,但是,我真的不想将任何Actions 直接暴露给窗口。
问题
是否有任何推荐的模式来公开谷歌地图的全局回调以点击 init,然后可以更新我的 Stores 状态,同时仍然通过我的 AppDispatcher?
【问题讨论】:
标签: google-maps reactjs reactjs-flux flux