以下の内容はhttps://ozaki25.hatenadiary.jp/entry/2018/02/01/220000より取得しました。
Opening Talk (10min)
React17
Talk: Static sites with create-react-app and Junctions (20min)
15分でアプリを作る
- create-react-app
- junctions
- create-react-appだとビルドしたあとのhtmlの中はscriptタグだけ
- SNSとかにはっても何も出ない
- junctionsつかうと対応できる
- junctions staticを使うと複数のhtmlを生成できる
- mdファイル読み込んでcomponent生成できる
- surge
Panel Discussion about React (40min)
- @james_k_nelson
- @yosuke_furukawa
- @yoshiko_pg
- @koba04 (moderator)
Reactに足りないもの
- 業務的にformを作ることが多い
- SSRとその後の画面行く時にスムーズにいかない?
- アニメーションが大変
- ルーター
- 裏側でsetStateして準備できてから遷移とか最近できてきてる
- @yoshiko_pg
- reduxは入れる
- redux-formも
- uiは使わないように
- @james_k_nelson
- @yosuke_furukawa
- react-router
- v3からv4で大きく変わった
- onEnterというページに入る直前のフックがなくなっちゃった
- formic
- virtualize
- ドラッグアンドドロップ
- ルーターの管理はreactの外側の世界で管理した方がきれいになる
- @yoshiko_pg
- styled-component
- ひとりで全部作るならいい
- デザイナーさんとかいるとうまくできない
- 普通にSCSSでBEMでなんとかなってる
- CSSの見た目が維持されてる方が好きとか
- JSオブジェクトではなく
- CSS生成するツールとかで対応しづらくなるから
- @james_k_nelson
- LESSとCSS modules
- CSS in JSセキュリティ問題ある
- @yosuke_furukawa
- SASSとかSCSS
- SSRするときコードが多いとスプリットしないで同期ロードしてる
React教える時
- Reduxもまとめて教えちゃう
- Reactだけでも作れる
- jsxもなくてもいい
- babelとかもいらなくなる
- 複雑にしてるのはレイヤーを分けたいから
- 色んな人が関わって作るからルールを作って強制している効果がある
- html,css分かる人相手の時と、JS自体は書ける人相手のときとか
ロジックどこにおく
- 本当にピュアなロジックならUtil
- componentのutilsとか
- npm_modulesにしちゃうとかも
- でもドメインからむことが多い
- apiからもらったものをreducerで使う時変換したいとき
- selectorってのを使う
- プロパティ省いたり変換したり
Reactの読み方(仮) (10min)
Redux のディレクトリ管理を考える (10min)
Reduxのディレクトリ構成悩む
論点
component設計
- container
- presentational
- viewのみ
- reactのみ
- reduxを意識しないもの
store設計
- rails-style
- domain-style
- ducks
domain-style
ducks
- action,reducer同じファイルに入れちゃおうってやつ
まとめ
- actionとreducerを分けて考えるべきではない
中大規模開発をReactで行う現場から伝えたいこと (10min)
現場での泥臭い話
- B2B
- 管理画面作ってる
- react + redux
- enzymeでテスト
テスト
- 書かないとのちのち苦しむ
- 何ヶ月も前に作ったものを手動でテストはつらい
- 書くようにするにはどうすればいいか
- TDD
- できるだけ並行でテスト書く
- CIでテスト結果確認できるようにする
- 新規実装時に同時にspecファイルつくるようにする
- 新しい開発者が同じの作っちゃうとか
- 共通コンポーネントあるか都度聞く聞かれるのも大変
- storybook必須
ドキュメント
- 開発環境のバージョン開発環境の立ち上げ手順
- コーディングガイド
- テストの書き方
- PRレビューの指針になるようなドキュメントにする
- wikiに書いてたけど1つのリポジトリにした
- 多すぎてそれも見づらくなった
- 今はgitbook使ってる
バージョン変更
- 小刻みにあげること
- 習慣的に行う
- 2週に一度バージョン更新
- nodeはLTSのバージョンが更新された時
- 依存パッケージはlockしておくこと
以上の内容はhttps://ozaki25.hatenadiary.jp/entry/2018/02/01/220000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます
不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14