如果 Google 地图标记是功能组件,则不会呈现它

问题描述

我是 Reactjs 的新手,我正在开发 Google 地图应用。在我的代码中,我能够渲染地图,但是当我将其作为功能组件放在单独的文件中时,标记没有渲染。我的地图代码

import React,{ Component } from 'react';
import { Map,GoogleApiWrapper,Marker } from 'google-maps-react';
import MarkerHandler from './components/marker_handler';

const mapStyles = {
    width: '100%',height: '100%'
};

export class MapContainer extends Component {
    render() {
        return (
            <Map
                google={this.props.google}
                zoom={14}
                style={mapStyles}
                initialCenter={
                    {
                        lat: 35.75973267514082,lng: -117.93383631776393
                    }
                }
            >
                <MarkerHandler />
                {/* <Marker position={{ lat: 35.75973267514082,lng: -117.93383631776393 }} /> */}
                {/* <Marker lat={35.55973267514082} lng={117.63383631776393} /> */}
            </Map>

        );
    }
}
export default GoogleApiWrapper({
    apiKey: 'my_key'
})(MapContainer);

如果我将 组件直接编码为 的子项(请参阅注释行),这有效,我能够看到标记。现在,我想让 组件作为函数组件的一部分在一个名为 marker_handler.jsx 的单独文件中,并将 作为 的子代:


import { Marker } from 'google-maps-react';

const MarkerHandler = () => {
    return (
        <div>
            <Marker lat={35.75973267514082} lng={117.63383631776393} />
        </div>
    );
}

export default MarkerHandler;

现在标记没有出现。当我检查 webdev 工具 -> 组件时, 我可以看到 的孩子,所以我知道数据正在传递,但标记没有被呈现。我错过了什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...