나는 React와 Leaflet을 결합하는 프로젝트를 진행하고 있는데, 나는 의미론에 어려움을 겪고 있다고 말해야 만한다.React와 Leaflet을 결합하는 좋은 방법
물건의 대부분은 리플릿에 의해 직접 관리되므로, 리팩토 맵 인스턴스를 리액션 구성 요소의 상태로 추가하는 것이 합리적인지 알 수 없습니다.
전단지로 마커를 만들 때와 같은 문제는 아무것도 반환하지 않기 때문에 실제로 렌더링 할 항목이 없습니다. 논리 자체는 나에게 모호하게 보인다.
내가 시작한 것은 다음과 같습니다. 작동하지만 나쁜 코드를 작성하고 개념을 이해하지 못하는 것 같습니다.
/** @jsx React.DOM */
/* DOING ALL THE REQUIRE */
var Utils = require('../core/utils.js');
var Livemap = React.createClass({
uid: function() {
var uid = 0;
return function(){
return uid++;
};
},
getInitialState: function() {
return {
uid: this.uid()
}
},
componentDidMount: function() {
var map = L.map('map-' + this.state.uid, {
minZoom: 2,
maxZoom: 20,
layers: [L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {attribution: '© <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>'})],
attributionControl: false,
});
map.fitWorld();
return this.setState({
map: map
});
},
render: function() {
return (
<div className='map' id={'map-'+this.state.uid}></div>
);
}
});
(function(){
Utils.documentReady(function(){
React.render(
<Livemap />,
document.body
)
});
})();
그래서 제 질문은 다음과 같습니다
- 이 샘플은 합법적 보이는가?
- 마커를 추가하고 이벤트를 관리하는 논리에 어떻게 접근합니까?
안녕하세요 저는 전단지와 반응의 사용과 관련하여 나에게 설명 할 시간이 있다면 궁금합니다. 아주 맞춤화 된 마커를 추가하고 싶습니다. (일부 html로 iconDiv를 사용할 것입니다.) 마커 자체와 마커의 특정 부분에 다른 이벤트를 추가하고 싶습니다. 어떻게 할 것입니까? ReactComponent는 실제로 html을 반환하지 않기 때문에. – soueuls
@SwannPolydor, 그게 무슨 뜻인지 모르겠습니다. 새로운 질문을하고 코드를 게시 할 수 있습니까? –
내가 틀렸다면 나에게 맞는 것이지만,이 솔루션은 모든'Livemap render'에 새로운 맵을 만듭니다. 그렇죠? 우리는이 상황을 피해야하지 않습니까? –