#reactjs
#reactjs
Вопрос:
Я хочу создать несколько дочерних полигонов при нажатии на полигон. Как я могу это сделать? Первые полигоны, созданные при загрузке карты. в методе clickHandler извлекаются координаты некоторых полигонов с сервера.
clickHandler(id) {
let areaType = 'city' // every clicked gonna change, assigned 'city for now
axios.get(`http://127.0.0.1:8000/service/${areaType}/${id}/`)
.then(res => {
this.setState({areas: res.data})
this.render()
})
}
render(){
return (
this.props.areas.map(area =>
<Polygon
id={area.name}
key={area.id}
paths={area.coordinates}
name={area.name}
strokeColor={'#000000'}
strokeOpacity= {1}
strokeWeight={1.2}
fillOpacity={0.3}
fillColor= {'#00ff00'}
onClick={() => this.clickHandler(area.id)}
areas={this.state.areas} //send new areas to create children polygons
>
</Polygon>
)
)
}
Ответ №1:
Попробуйте использовать SVG напрямую. Перепишите вопрос.
Комментарии:
1. codesandbox.io/s/competent-dubinsky-1dpdj?file=/src/components/… вот весь код.