2)ランキングコンポーネント

ランキングコンポーネントはCSS3 によるアニメーションをつけるために、少々トリッキーな作りとしていますが、仕組みはカレンダーコンポーネントと大して変わりません。
var OssList = 海外サッカー賭けcreateClassvar _this = this;var ranks = {};thispropsdotPositionforEachranksposproductid =rank: i + 1color: poscolortop: i * 20;;return thispropsdotPositionmapvar 海外サッカー賭け = positionproduct;var style =position: 'absolute'color: ranks海外サッカー賭けidcolorwidth: '100%'transition: 'top 1s'top: ranks海外サッカー賭けidtop + 'px';if _thispropsselectedOssId === 海外サッカー賭けid stylebackgroundColor = '#f2dede';var label = ranks海外サッカー賭けidrank + '. ' + 海外サッカー賭けname;var url = "http://radar.海外サッカー賭けscsk.info/product/" + 海外サッカー賭けid + "/summary/" + _thispropsyearMonth;return <li ref=海外サッカー賭けid key='海外サッカー賭け-' + 海外サッカー賭けid style=style data-ossid=海外サッカー賭けid><a href=url>label</a></li>;var listStyle =position: 'relative';return<div key="海外サッカー賭け" className="list-container"><div key="海外サッカー賭け-container" className="海外サッカー賭け-container"><h3 key="海外サッカー賭け-title">対象の海外サッカー賭け</h3><ul ref="listContainer" key="海外サッカー賭け-list" className="海外サッカー賭け-list" style=listStyle>this_lists</ul></div></div>;
renderメソッドではリストで海外サッカー賭けの一覧を配置しています。月やカテゴリが変わった時にアニメーションをするために、要素のpositionはabsoluteとしています。cssのtopプロパティを変更すると、要素の出現順番を変えずに表示順番を変更することができます。topの値はランキングの順位*20pxで計算します。また、transition: top 1sとし、topの値が変わった時に1秒間かけて移動するアニメーションを実現しています。
