Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Angular.jsからReactへ移行する #134

Closed
wants to merge 45 commits into from
Closed

Angular.jsからReactへ移行する #134

wants to merge 45 commits into from

Conversation

shimbaco
Copy link
Member

  • シンプルで
  • コミュニティが活発で (コントリビュータがたくさんいて)
  • 技術的におもしろい

という条件でJSのライブラリ(フレームワーク)を探したところ、Reactが一番フィットした気がしたので、移行します。


_didChannelIdChange: ->
@currentChannelId != @newChannelId &&
!(@currentChannelId == '' && @newChannelId == 'no_select') # 未選択状態で「ステータス」を選択してなかったら

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line exceeds maximum allowed length

SpinnerStore.addChangeListener(@_onChange)

componentWillUnmount: ->
SpinnerStore.removeChangeListener(@_onChange);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line contains a trailing semicolon

`<div className='work-episodes container'>
<h2 className='text-center'>エピソード</h2>
<div className='multiple-checkin'>
<div className={switchButtonClass} onClick={this.startMultipleCheckinMode} onTouchStart={this.startMultipleCheckinMode}>一括チェックイン</div>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line exceeds maximum allowed length

render: ->
props = @props

checkinPath = "/works/#{props.workId}/episodes/#{props.episodeId}/checkins/#{props.checkin.id}"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line exceeds maximum allowed length

@shimbaco
Copy link
Member Author

shimbaco commented Jan 8, 2015

しばらくAngular.jsで良いや、という気持ちなりました。

  • 兄弟コンポーネントとのデータのやり取りの良い方法がわからなかった
    • 親コンポーネントを作り、そこで2つのコンポーネントで扱うデータを管理すれば実現できるけど、親コンポーネントのストア層が厚くなりそうなので避けたい
  • 思ってたよりもJavaScriptで書く部分が多くなってしまった
    • 基本的な処理はサーバ側で書き (HTMLはサーバ側で生成し)、JSはそれに一味加える程度で使いたかった
  • Angular.jsのモジュール機構は良かった
    • Asset Pipelineと相性が良いと思う

このプルリクエストの中に副産物的に機能を改修した部分があるので、それをmasterブランチに取り込み、このプルリクエストは一旦破棄したいと思います。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants