Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ReferenceError:未定义提取-反应地理代码_Javascript_Reactjs_Fetch_Google Map React - Fatal编程技术网

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是对的。请改用
节点获取
,或者使用我提供的节点获取。我将删除我的评论以避免混淆。