#reactjs #typescript #leaflet #react-leaflet
Вопрос:
Я собираюсь расширить компонент GeoJSON из листовки, чтобы создать пользовательский компонент, я использую листовку 1.6.0 с машинописным текстом и следую инструкциям, приведенным в документации по листовке(https://leafletjs.com/reference-1.6.0.html#class) но возникает проблема при создании нового пользовательского объекта компонента » Ожидалось 0 аргументов, но получено 1.ts(2554)». Моя реализация пользовательского компонента выглядит следующим образом.
import React, { useContext } from 'react';
import { useLeaflet, GeoJSON } from "react-leaflet";
import L from 'leaflet';
import uuid from "react-uuid";
import { BoundaryMarkContext } from '../MapsPage';
import { getStyle} from '../../style';
type Props = {
featureCollection: any;
};
const CustomGeoJson = (props: Props) => {
var keyForFeatureCollection = uuid();
const boundaryMarkChangeDetails = useContext(BoundaryMarkContext);
const onEachFeature = (feature, layer) => {
layer.on('click', function (e) {
boundaryMarkChangeDetails.handleBoundaryMarkClick(e)
});
}
const boundaryMarkPointToLayer = (feature, latlng) => {
};
const GeoJsonExtend = L.GeoJSON.extend({
options: {
onEachFeature: onEachFeature,
pointToLayer: boundaryMarkPointToLayer,
style: getStyle
},
initialize: function(data, key) {
this.data = data;
this.key = key;
}
});
return new GeoJsonExtend({ data: props.featureCollection, key: keyForFeatureCollection });
};
export default CustomGeoJson;
Комментарии:
1. Какая строка вызывает эту ошибку? TS должен точно сказать вам, какая функция ожидает 0 аргументов, но получила 1
2. @SethLutske эта строка «возвращает новый GeoJsonExtend({ данные: реквизит.коллекция функций, ключ: keyForFeatureCollection });» выдает ошибку