Javascript ReferenceError:未定义提取-反应地理代码
我已经创建了一个服务器呈现Javascript ReferenceError:未定义提取-反应地理代码,javascript,reactjs,fetch,google-map-react,Javascript,Reactjs,Fetch,Google Map React,我已经创建了一个服务器呈现reactapp。在不同的页面中,我尝试从用户那里获取多个地址,并在谷歌地图上标记输入的位置 出于测试目的(为了熟悉geocode),我添加了react geocode,与。但是,我得到了一个错误: ReferenceError:fetch未在/home/../node\u modules/react geocode/lib/index.js:1:255中定义 这是一个组件: import GoogleMapReact from 'google-map-reac
react
app。在不同的页面中,我尝试从用户那里获取多个地址,并在谷歌地图
上标记输入的位置
出于测试目的(为了熟悉geocode
),我添加了react geocode
,与。但是,我得到了一个错误:
ReferenceError:fetch未在/home/../node\u modules/react geocode/lib/index.js:1:255中定义
这是一个组件:
import GoogleMapReact from 'google-map-react';
import Geocode from "react-geocode";
...//other imports
const AnyReactComponent = ({ text }) => <div>{text}</div>;
class History extends Component {
static defaultProps = {
center: {
lat: 59.95,
lng: 30.33
},
zoom: 11
};
static async getInitialProps(props) {
let addresscounts = await tracker.methods.zipCounts().call()
//////////////////////////react-geocode////////////////////
Geocode.setApiKey("~~~ API KEY ~~~");
Geocode.fromAddress("Eiffel Tower").then(
response => {
const { lat, lng } = response.results[0].geometry.location;
console.log(lat, lng);
}, error => { console.error(error) }
);
///////////////////////////////////
return {
addresscounts
};
}
render(){
return(
<div style={{ height: '100vh', width: '100%' }}>
<GoogleMapReact
bootstrapURLKeys={{ key: "~~~ API KEY ~~~"}}
defaultCenter={this.props.center}
defaultZoom={this.props.zoom}
>
<AnyReactComponent
lat={59.955413}
lng={30.337844}
text="My Marker" />
</GoogleMapReact>
</div>
);
}
}
export default History;
从“谷歌地图反应”导入谷歌地图反应;
从“react Geocode”导入地理编码;
…//其他进口
const AnyReactComponent=({text})=>{text};
类历史扩展组件{
静态defaultProps={
中心:{
拉脱维亚:59.95,
液化天然气:30.33
},
缩放:11
};
静态异步getInitialProps(props){
让addresscounts=wait tracker.methods.zipCounts().call()调用
//////////////////////////反应地理代码////////////////////
Geocode.setApiKey(“~~~~API-KEY~~~”);
地理编码。从地址(“埃菲尔铁塔”)。然后(
响应=>{
const{lat,lng}=response.results[0].geometry.location;
控制台日志(lat、lng);
},error=>{console.error(error)}
);
///////////////////////////////////
返回{
地址计数
};
}
render(){
返回(
);
}
}
导出默认历史记录;
有人能告诉我问题是什么以及我如何解决它吗?我是否需要通过fetch
API(节点fetch)发送请求 可能重复:可能重复的fetch
是最新浏览器中添加的一个新界面,用于简化Ajax请求的创建。您正在使用的一些库似乎需要fetch
才能工作。他们希望它能在全球范围内提供。由于您是从服务器上运行应用程序,因此需要确保fetch
接口在该环境中可用。查看此链接了解更多信息:@guzmonne发布的链接可能不起作用,文档中说“此项目在Node.js环境下不起作用”,因此我建议您尝试使用此处的“Node fetch”模块,它模仿服务器端的浏览器fetch API,像这样添加global.fetch=require(“Node fetch”)代码>,也许你会有一些运气@exside是对的。请改用节点获取
,或者使用我提供的节点获取。我将删除我的评论以避免混淆。可能重复:可能重复的fetch
是添加到最新浏览器中的一个新界面,用于简化Ajax请求的创建。您正在使用的一些库似乎需要fetch
才能工作。他们希望它能在全球范围内提供。由于您是从服务器上运行应用程序,因此需要确保fetch
接口在该环境中可用。查看此链接了解更多信息:@guzmonne发布的链接可能不起作用,文档中说“此项目在Node.js环境下不起作用”,因此我建议您尝试使用此处的“Node fetch”模块,它模仿服务器端的浏览器fetch API,像这样添加global.fetch=require(“Node fetch”)代码>,也许你会有一些运气@exside是对的。请改用节点获取
,或者使用我提供的节点获取。我将删除我的评论以避免混淆。