Ошибка машинописного текста React Map GL Draw "Ожидается объявление или инструкция" - PullRequest
1 голос
/ 25 мая 2020

Я пытаюсь добавить редактор на свою карту, но в тот момент, когда я импортирую «response-map-gl-draw», я получаю следующую ошибку и ничего не могу найти на ней. Когда я удаляю редактор, ошибка исчезает, и я вижу карту.

Может ли кто-нибудь дать мне какое-нибудь направление для отладки этой проблемы?

import { DrawPolygonMode, Editor } from 'react-map-gl-draw';
node_modules/@nebula.gl/edit-modes/dist-types/index.d.ts
TypeScript error in node_modules/@nebula.gl/edit-modes/dist-types/index.d.ts(1,1):
Declaration or statement expected.  TS1128

  > 1 | export type { EditMode } from './lib/edit-mode';
      | ^
    2 | export type { GeoJsonEditModeType } from './lib/geojson-edit-mode';
    3 | export { GeoJsonEditMode } from './lib/geojson-edit-mode';
    4 | export { ModifyMode } from './lib/modify-mode';

Полный компонент React

import React, { useState } from 'react';
import MapGL from 'react-map-gl';
import { DrawPolygonMode, Editor } from 'react-map-gl-draw';

import Dialog from '@material-ui/core/Dialog';

import { Wrapper } from './CreateMission.style';

interface Props {
  open: boolean;
  onClose?: () => void;
}

const CreateMission: React.FC<Props> = ({ open, onClose = () => {} }) => {
  const [viewport, setViewport] = useState({
    latitude: 51.228978,
    longitude: 4.404713,
    zoom: 15,
  });

  return (
    <Dialog
      fullWidth
      maxWidth="md"
      open={open}
      onClose={onClose}
      aria-labelledby="max-width-dialog-title"
    >
      <Wrapper>
        <MapGL
          {...viewport}
          height="100%"
          width="100%"
          onViewportChange={(vp) => {
            setViewport({
              latitude: vp.latitude,
              longitude: vp.longitude,
              zoom: vp.zoom,
            });
          }}
          mapStyle="mapbox://styles/mapbox/satellite-v9"
        >
          {/* <Editor mode={new DrawPolygonMode()} /> */}
        </MapGL>
      </Wrapper>
    </Dialog>
  );
};

export default CreateMission;

1 Ответ

0 голосов
/ 25 мая 2020

Я нашел проблему! Мой проект был написан на машинописном тексте 3.7, а синтаксис, используемый в «react-map-gl-draw», был добавлен из версии 3.8. Таким образом, решение было просто обновлением машинописного текста с 3.7 до последней версии 3.9, после чего все работает нормально.

...