только что обновил react-leaflet
версию с 1.9.1 до 2.0.0 и получил странную ошибку:
Uncaught Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.
Check the render method of `Map`.
Мне нужно обновить react-leaflet
как минимум до версии 2, чтобы я мог использовать withLeaflet
функция для рендеринга векторных плиток внутри react-leaflet
. Связанный пост: https://stackoverflow.com/a/53317460/6399631
Файл, который содержит Map
компонент в моем проекте;
import React, {Component} from "react";
import classNames from "classnames";
import {Map} from "react-leaflet";
class FdMap extends Component {
mapRef = (map) => {
if (map) {
this.mapLeaflet = map.leafletElement;
map.leafletElement.scrollWheelZoom.disable();
map.leafletElement.on("focus", function () {
map.leafletElement.scrollWheelZoom.enable();
});
map.leafletElement.on("blur", function () {
map.leafletElement.scrollWheelZoom.disable();
});
}
};
render() {
const {
className,
children
} = this.props;
const containerClassName = classNames(
"fd-map",
className
);
return (
<Map ref={this.mapRef}
{...this.props}
className={containerClassName}>
{children}
</Map>
);
};
}
export default FdMap;
Я использую;
"react": "16.4.1",
"leaflet": "1.3.1"
У вас естьлюбое решение?