我正在使用 React 开发一个谷歌地图项目。我为 onClick 处理程序分配了以下方法:
getStreetView(lat,lng){
let url = `https://maps.googleapis.com/maps/api/streetview?size=600x300&location=${lat},${lng}&heading=151.78&pitch=-0.76&key=MYAPIKEY`
axios.get(url).then(response=>this.setState({image:response.config.url}));
}
在state = { image: null }
随后beeing分配我以后传递给图像标记的子组件,例如网址<img src={props.image} alt='street view'/>
。一切都像魅力一样,但是我遇到了各种其他解决方案,例如:
function getBase64(url) {
return axios
.get(url, {
responseType: 'arraybuffer'
})
.then(response => Buffer.from(response.data, 'binary').toString('base64'))
}
来自b4dnewz
axios 文档。但是,我找不到如何在具有该响应类型的子组件中显示图像的合理方法。我的问题是,我的方法有效吗?有什么理由让我不应该那样使用它吗?