如何引用react-leaflet组件的小叶层?

埃尔奇加

我使用react-leaflet在地图上可视化了很长的路径。用户可以从列表中选择,我希望所选路径具有不同的颜色。更改状态并再次渲染太慢,我正在寻找更快的解决方案。

传单路径元素具有setStyle()方法,所以我的第一个想法是使用它而不是再次呈现。但是如何引用传单层呢?

class MyPathComponent extends React.Component {

  shouldComponentUpdate(nextProps, nextState) {
    if (nextProps.selected){
      this.setState({selected: true});
      LEAFLET_POLYLINE.setStyle({
        color: 'red'
      });
    }
    return false;
  }

  render() {
    return(
      <Polyline polylines={this.props.path} />
    );
  }
}

那么在这段代码中我应该写些什么而不是LEAFLET_POLYLINE

埃里克·帕拉科维奇·卡尔

中的组件react-leaflet具有称为的属性leafletElement我相信你可以做这样的事情:

class MyPathComponent extends React.Component {

  shouldComponentUpdate(nextProps, nextState) {
    if (nextProps.selected){
      this.setState({selected: true});
      this.refs.polyline.leafletElement.setStyle({
        color: 'red'
      });
    }
    return false;
  }

  render() {
    return(
      <Polyline ref="polyline" polylines={this.props.path} />
    );
  }
}

需要注意的两件事:

  1. 我尚未测试此代码,因此可能需要一些小的调整。
  2. 在React中使用字符串作为“ ref”被认为是遗留问题,因此您可能需要做一些稍有不同的事情(请参阅此处)。leafletElement是这里的重要部分。

除了上面的代码,最好将其扩展Polyline为您的自定义组件(此处的文档有限):

import { Polyline } from 'react-leaflet';

class MyPathComponent extends Polyline {

  shouldComponentUpdate(nextProps, nextState) {
    if (nextProps.selected){
      this.setState({selected: true});
      this.leafletElement.setStyle({
        color: 'red'
      });
    }
    return false;
  }
}

让我知道这是否对您有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用react-leaflet将层绑定到功能组件中的onEachFeature

来自分类Dev

如何正确设置对React组件的引用?

来自分类Dev

如何在React中引用组件的props?

来自分类Dev

我如何让它引用 React 组件?

来自分类Dev

了解如何在React组件中引用属性

来自分类Dev

如何在scalsjs-react中获取对组件的引用?

来自分类Dev

从服务层路由React组件

来自分类Dev

小叶层Z索引

来自分类Dev

如何使Leaflet平铺层可访问

来自分类Dev

如何使用Leaflet隐藏叠加层

来自分类Dev

React:创建和引用动态组件引用

来自分类Dev

如何为打字稿中的主题功能组件正确设置/使用引用+ React Native

来自分类Dev

react-leaflet-search 组件未呈现

来自分类Dev

React-leaflet 自定义组件,如何从 Leaflet 扩展 Polyline?

来自分类Dev

React 将 DOM 引用暴露给父组件

来自分类Dev

react - 对作为提示传递的组件的引用

来自分类Dev

使用 useRef 钩子获取对 React 组件的引用

来自分类Dev

如何访问/引用组件内的组件值

来自分类Dev

如何在服务器端渲染中使用在 React 中使用 `window` 引用的组件?

来自分类Dev

如何用自定义组件替换React-Leaflet Popup?

来自分类Dev

React Leaflet-如何使用useLeaflet添加自定义组件

来自分类Dev

在React-Leaflet组件(LayerGroup)上的调用方法

来自分类Dev

Leaflet React获取功能组件中的地图实例

来自分类Dev

在 componentWillUnmount 之后,React 子组件会丢失其父组件的引用

来自分类Dev

ReactJS:如何访问子组件的引用?

来自分类Dev

如何通过引用访问子组件功能

来自分类Dev

如何动态引用Vue等剃刀组件?

来自分类Dev

如何从子组件获取对Blazor MainLayout的引用

来自分类Dev

Java:如何从AbstractAction对象引用GUI组件?

Related 相关文章

  1. 1

    使用react-leaflet将层绑定到功能组件中的onEachFeature

  2. 2

    如何正确设置对React组件的引用?

  3. 3

    如何在React中引用组件的props?

  4. 4

    我如何让它引用 React 组件?

  5. 5

    了解如何在React组件中引用属性

  6. 6

    如何在scalsjs-react中获取对组件的引用?

  7. 7

    从服务层路由React组件

  8. 8

    小叶层Z索引

  9. 9

    如何使Leaflet平铺层可访问

  10. 10

    如何使用Leaflet隐藏叠加层

  11. 11

    React:创建和引用动态组件引用

  12. 12

    如何为打字稿中的主题功能组件正确设置/使用引用+ React Native

  13. 13

    react-leaflet-search 组件未呈现

  14. 14

    React-leaflet 自定义组件,如何从 Leaflet 扩展 Polyline?

  15. 15

    React 将 DOM 引用暴露给父组件

  16. 16

    react - 对作为提示传递的组件的引用

  17. 17

    使用 useRef 钩子获取对 React 组件的引用

  18. 18

    如何访问/引用组件内的组件值

  19. 19

    如何在服务器端渲染中使用在 React 中使用 `window` 引用的组件?

  20. 20

    如何用自定义组件替换React-Leaflet Popup?

  21. 21

    React Leaflet-如何使用useLeaflet添加自定义组件

  22. 22

    在React-Leaflet组件(LayerGroup)上的调用方法

  23. 23

    Leaflet React获取功能组件中的地图实例

  24. 24

    在 componentWillUnmount 之后,React 子组件会丢失其父组件的引用

  25. 25

    ReactJS:如何访问子组件的引用?

  26. 26

    如何通过引用访问子组件功能

  27. 27

    如何动态引用Vue等剃刀组件?

  28. 28

    如何从子组件获取对Blazor MainLayout的引用

  29. 29

    Java:如何从AbstractAction对象引用GUI组件?

热门标签

归档