- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 GeoJSON 组件中使用 pointToLayer 参数。我在组件外部(不同的文件)定义了函数 pointToLayer ,但出现了该错误。
Map.js:
import {pointToLayer} from '../helpers/helper-country-point';
<GeoJSON>
key={_.uniqueId()}
data={this.props.activeCountry.geojson}
pointToLayer={pointToLayer(this)}
></GeoJSON>
文件 ../helpers/helper-country-point 是:
import L from 'leaflet';
export function pointToLayer(feature, latlng) {
return L.circleMarker(latlng, {
color: 'white',
fillColor: 'white',
fillOpacity: .8,
radius: 3,
stroke: false
}).bindPopup("MESSAGE") // Change marker to circle
}
当我在 Map.js 中定义 pointToLayer 并使用时:
<GeoJSON
key={_.uniqueId()}
data= {this.props.countrySelected.geojson}
pointToLayer={this.pointToLayer.bind(this)}
></GeoJSON>
它有效。知道为什么我总是收到此错误吗?
最佳答案
在第一个中,您调用该函数并使用 this
作为参数。
在第二个中,您没有调用该函数。您只需将函数作为 props 传递即可。您可以尝试删除第一个示例中的 (this)
部分,这样您只传递该函数而不调用它。
然后,由于错误是 pointToLayer
is not a function,当你在 map.js
中声明该函数时它就解决了,我怀疑你可能已经写了helper.js
文件的路径错误。
关于javascript - React-Leaflet:未捕获类型错误:pointToLayer 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48070432/
我目前正在尝试学习 React,我想使用传单 map (react-leaflet)。 我有两个(点、多边形)GeoJson 对象要显示,它们正在工作,但我想替换默认标记图标。 传单文档 http:/
我正在尝试在 GeoJSON 组件中使用 pointToLayer 参数。我在组件外部(不同的文件)定义了函数 pointToLayer ,但出现了该错误。 Map.js: import {point
我尝试在我的传单 map 中应用 pointTolayer 但它仍然抛出经典图标。代码中有错误。 $.getJSON("https://gist.githubusercontent.com/vassi
当我包含以下代码时,没有出现任何标记,并且控制台中的错误是: Uncaught TypeError: this.callInitHooks is not a function at pointToLa
您好,有什么方法可以将 jsx 组件传递给 bindPopup 函数,以便我可以在按钮单击时推送 redux 命令? pointToLayer={( geoJsonPoint: Feat
我在 Mapbox 中使用此函数与 geoJson 来使用 simplestyle 中的样式标记 var groupThree = new L.LayerGroup(); L.geoJson(laye
我是一名优秀的程序员,十分优秀!