gpt4 book ai didi

javascript - 可以在 .setHTML 或 .setDOMContent 中的 mapboxgl.Popup() 中渲染 react 组件吗?

转载 作者:行者123 更新时间:2023-12-03 13:28:53 25 4
gpt4 key购买 nike

我想知道是否可以在 mapboxgl.Popup() 中渲染 React 组件。像这样的事情:

    componentDidMount() {
new mapboxgl.Popup()
.setLngLat(coordinates)
.setHTML(`<div>${<MapPopup />}<p>${moreText}</p></div>`)
//.setDOMContent(`${<MapPopup />}`) ?????
.addTo(this.props.mapboxMap)
})

或者应该使用 ReactDOM.render 来完成?

ReactDOM.render(<MapPopup />, document.getElementById('root'))

该项目将在弹出窗口中包含连接到 redux 存储的按钮和输入。

感谢您的任何意见!

最佳答案

这有效:

addPopup(el: JSX.Element, lat: number, lng: number) {
const placeholder = document.createElement('div');
ReactDOM.render(el, placeholder);

const marker = new MapboxGl.Popup()
.setDOMContent(placeholder)
.setLngLat({lng: lng, lat: lat})
.addTo(map);
}

(我使用 typescript 来说明类型,但您可以将它们保留为纯 js。)将其用作

addPopup(<h1>Losers of 1966 World Cup</h1>, 52.5, 13.4);

关于javascript - 可以在 .setHTML 或 .setDOMContent 中的 mapboxgl.Popup() 中渲染 react 组件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48916901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com