Листовка расширяет компонент GeoJSON, вызывающий проблему

#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 });» выдает ошибку