我有一个Chrome扩展程序,我使用redux
操作在content
脚本和background
脚本之间传递消息。
由于我无法在script
脚本中加载Google地图content
标记,因此我尝试将其加载到background
脚本&
content
脚本。
在background
脚本中,我运行以下命令:
// this asynchronously inserts a script tag & calls a callback upon completion
import load from 'little-loader'
window._dispatchMap_ = () => {
store.dispatch({type: 'MAPS_LOADED', payload: google.maps})
}
load('https://maps.google.com/maps/api/js?key=<redacted>&libraries=places&callback=_dispatchMap_', (err) => {
if (err) console.error(err)
})
redux
操作正确调度,在我的background.html
中,redux logger
显示正确的有效负载。当我在控制台中检查google.maps
obj的大小时:
> Object.keys(google.maps).length // 66 keys
但是,当payload
存储在我的redux
商店(background
仍然存在)中时,它只会保存30个密钥。因此,当它到达我的content
脚本(到React组件google-map-react
)时,无法正确加载。
为什么google.maps
对象无法将redux
存储完全保存?