当前位置: 首页 > 知识库问答 >
问题:

如何将mapbox坐标传递给反应中的父类?

上官高逸
2023-03-14

我试图在mapbox gl地图上设置一个标记,点击地图,然后将lngLat对象传递回父组件。请告诉我怎样才能做到这一点。我刚开始学习反应,但我知道道具只能从父类继承,setState只能设置本地状态。

   // add a marker when user clicks a point
    map.on("click", "random-points-layer", e => {
      if (e.features.length) {
        const feature = e.features[0];
        document.getElementById('info').innerHTML =
      // e.point is the x, y coordinates of the mousemove event relative
      // to the top-left corner of the map
        JSON.stringify(e.point) +
        '<br />' +
       // e.lngLat is the longitude, latitude geographical position of the event
        JSON.stringify(e.lngLat.wrap());

//----------------------------------------------------------------------------------------------------
//   add a marker to the map
        var marker = new mapboxgl.Marker().setLngLat(e.lngLat).addTo(map);
//----------------------------------------------------------------------------------------------------
      }
    });

父组件如下所示

  render() {
     <div>
      <h1>Activate a beacon<h1/>
      <Map/>
     <div/>
}

我正在学习这个教程https://github.com/laneysmith/react-mapbox-example

共有1个答案

谭京
2023-03-14

在父类中这样定义子组件。。。

<ChildComponent
    parent={this}
/>

然后在子类中调用父类函数...

this.props.parent.someFunction();

完整的工作演示。在本例中,子级显示父级的id字段,但它也可能是一个函数调用,在函数调用中,我可以包括我想从子级传递给父级函数的任何参数。

如果您好奇的话,我有一个类似问题的答案:在React with类组件中,从子级向父级传递Ref。

 类似资料:
  • 我正在尝试设置一个使用React的页面。该页面有一个下拉菜单组件,它应该触发父级中的状态更新。我尝试了以下几个例子,但没有任何效果。以下是我尝试过的两种方法的简化示例: > 将回调作为更新父状态的道具传递给子节点: }); 这始终显示“失败”,而不是“1”或“2”。 让父级使用onChange而不是回调获取下拉菜单的值。 }); }); 如果我尝试渲染状态,我可以在下拉组件中看到状态更改,但父级没

  • 问题内容: 我想创建一个应用程序,其中应处理某些事件,就像它们被传递到父容器一样。例如,我有一个包含的。顶部立即实现了鼠标按下和拖动。为了使事件看起来像是到达的,而不是标签本身,我需要做什么。(更改源对象很重要) 是否有比实际实现事件并在父级中复制事件更好的解决方案?(在某些对象> 5个孩子之后,这将变得乏味)。 问题答案: 在事件侦听器中,您可以将事件调度到父组件。 作为事件处理函数参数: 但是

  • 问题内容: 我在这里有一个简单的设置: 我有一个父组件,该父组件有2个子组件。在第一个子组件中:用户更改输入的值。然后,该更改的值将是我想要从该孩子传递给父对象的道具,以便可以将其传递给与同一父组件相连的另一个孩子。 当前设置的这个,请查看 从用户输入到UI更改的流程:1.在“ Child 1”中:调整一个滑块,将onChange值传递给父组件;2.将此属性(新的滑块值)传递给Parent组件,以

  • 所以,我开始学习React与Redux和react-router。一个. net的大麻烦 我想使用对象查找给定url中的道具,因此可以执行以下操作: 我定义了这样一条路线: 组件正在正确的url上呈现,但我无法获得任何道具。 所有这些逻辑都不是在应用根中发生的,而是在这个渲染的组件中发生的: 我需要遵循哪些关键因素,这样才能起作用?我正在使用最新的react路由器v4。谢谢

  • 问题内容: 在Tkinter中是否可以将事件直接传递给父窗口小部件? 我有一个画布,该画布被其他画布的网格覆盖(是复数吗?),我使用方法添加了该画布。我希望某些事件(例如鼠标释放事件)由父画布处理。 如果仅将事件绑定到父方法,则和坐标相对于捕获事件的子画布而言。 问题答案: Tkinter不会将事件传递给父窗口小部件。但是,您可以通过使用绑定标签(或“ bindtags”)来模拟效果。 我能给出的

  • 问题内容: 上面的Javascript写在jinja2模板中。它应该将javascript变量(即var名称)值传递给宏中的python函数。我知道上面的代码无法解决我的目的,因为我没有正确将javascript变量值传递给宏。是否有人在jinja2模板中将javascript变量传递给宏的方法? 问题答案: 您不能以这种方式将值从javascript传递到模板,因为模板将在响应返回到浏览器之前呈