<\/P>
つい最近、ArcGIS JavaScript APIをReactJSと組み合わせてウィジェットで使う方法についてのブログ記事<\/A>を書きました。最近Reactについて何人かと話していたので、ここでその話題を再び取り上げようと思います。一番大きな疑問はなぜReactを使うのか?<\/A>ということかもしれません。個人的には、Reactは非常にエレガントなAPIだと思います。使い始めて、ユーザーインターフェースを構成するコンポーネントを簡単に組み合わせられることがわかると、それがReactの真価が発揮される瞬間だと思います<\/EM>。Reactの素敵な特徴の一つは仮想DOM<\/A>の使用です。基本的に、アプリケーションの状態をルートで更新すると、アプリケーション全体のDOMが再レンダリングされます。遅くなりそうに聞こえますが、実際はそうではありません。ただし、非常に大きなJSONエディター<\/STRONG>を作ろうとするなど馬鹿なことをすると遅くなることもあります **あはん**<\/EM>。更新がどのように行われるかについてはこちら<\/A>で詳しく読むことができます。<\/P><\/P>
まず最初にLocatorというウィジェットがあります。これは単純にカーソルの地図座標を表示します。<\/P>
\/** @jsx React.DOM *\/define([\n 'react',\n 'dojo/topic',\n 'helpers/NumFormatter'\n], function(\n React,\n topic,\n format\n) {\n var fixed = format(3);\n var LocatorWidget = React.createClass({\n getInitialState: function() {\n return {\n x: 0,\n y: 0\n };\n },\n componentDidMount: function() {\n this.handler = this.props.map.on('mouse-move', function(e) {\n this.update(e.mapPoint);\n }.bind(this));\n },\n componentWillUnMount: function() {\n this.handler.remove();\n },\n update: function(data) {\n this.setState(data);\n topic.publish('map-mouse-move', data);\n },\n render: function() {\n return (\n <div className='well'>\n <label>x: {fixed(this.state.x)}<\/label>\n <br \/>\n .& nbsp.& nbsp.& nbsp.& nbsp.& nbsp.& nbsp.& nbsp.& nbsp; ); } }); return LocatorWidget;});
このコンポーネントは非常にシンプルです。ただ座標を表示し、これらの座標をアプリケーションに公開するために
このアプリケーションのデモはこちらでご覧いただけます。もし見逃した場合はソースコードがこちらにあります。<\/P>
ご覧の通り、これはArcGIS API for JavaScriptアプリケーションで任意のライブラリやフレームワークを統合できる別の例です。Dojoには使うべき部分(そして非常に便利なものもあります、例えばdojo/topic)がありますが、それ以外はJavaScriptライブラリをミックス&マッチするのはそれほど難しくありません。Reactは完全なフレームワークではなく、そのことはFB開発者たちが最初に言うでしょうが、MVCの中でも特にVを非常によく担っています。だから皆さん、どんどんハックして何より楽しんでください!<\/P>
さらに多くのgeodevヒントやコツについては私のブログをご覧ください。<\/P><\/BODY><\/HTML>
サインインしたメンバーは投稿、更新のフォローなどができます。初めてですか?無料アカウントを登録してください。
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.