我正在做一个将React和传单结合起来的项目,但我必须说我在语义学方面遇到了一些困难.
由于大部分内容都是由传单直接管理的,我不知道在React组件中添加传单映射实例作为状态是否有意义.
同样的问题,当涉及到创建传单标记,因为它不返回任何东西,我没有任何东西来渲染真的.对我来说,逻辑本身似乎很模糊.
这是我开始做的.这是可行的,但我觉得我在写糟糕的代码,并错过了这个概念.
/** @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
)
});
})();
所以我的问题是:
- 这个样本合法吗?
- 你将如何处理添加标记和管理其事件的逻辑?