有一个新的 react-leaflet 版本,可以在这里找到:npm install react-leaflet/next docs:https ://react-leaflet-v3.now.sh/docs/start-introduction
这是使用钩子的完全重写。
基于这些新的钩子,我正在尝试编写一个自定义图层控件,我主要只是想将其分成多个组并从 material-ui 渲染我的反应组件,以使地图样式与我的应用程序的其余部分保持一致。根据我的理解,钩子的使用方式如下:
基本控制示例
const MyControl = Control.extend({
onAdd: map => {
let container = DomUtil.create('div');
container.innerHTML += 'My Control';
return container;
},
// this one is optional
onRemove: map => {},
});
const useControlElement = createElementHook(
function createControl(_ref, ctx) {
const context = useLeafletContext();
var instance = new MyControl(position);
return {
instance: instance,
context: Object.assign({}, ctx, {
control: instance,
}),
};
},
function updateControl(control, props, prevProps) {},
);
const useControl …Run Code Online (Sandbox Code Playgroud)