react-leaflet-control-TypeError:(0,_reactLeaflet.withLeaflet)不是一个函数

时间:2019-02-22 08:49:27

标签: react-leaflet

不确定为什么自定义控件突然无法在我的react-leaflet map应用程序中运行。在“从'react-leaflet-control'导入'控件'”语句期间发生错误。

它曾经工作了几周,从那时起,它不允许我导入“控件”组件。我们所做的唯一更改是将react-leaflet'程序包升级到了2.2.0。

当前,我正在使用react-leaflet-control ^ 1.4.1。显然,这与React-leaflet-control ^ 2.2.0不兼容/不受支持。我尝试通过查看旧的package.json文件降级到1.9.1,但仍然是同样的问题。我尝试删除所有节点模块,并尝试通过npm install更新所有软件包,但仍然是同一问题。

任何人都知道这里到底有什么问题,我是否需要安装任何依赖项才能克服这个问题?

感谢和问候, 〜保罗

1 个答案:

答案 0 :(得分:1)

最近有什么变化吗?即升级react-leaflet而不是降级react-leaflet-control。升级react-leaflet后,插件第一次无法加载。因此,开发人员已修复它。可能是导致问题的原因。

Here's example on CodeSandbox

相关的javascript代码在其中

import React from "react";
import ReactDOM from "react-dom";
import { Map, TileLayer } from "react-leaflet";
import Control from "react-leaflet-control";

import "./styles.css";

function App() {
  return (
    <Map zoom={13} center={[53.8008, -1.5491]}>
      <TileLayer
        url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
        attribution='&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
      />
      <Control position="topright">
        <div className="so">Top Right Control</div>
      </Control>
    </Map>
  );
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

相关的github issue