- React.js meetup #6に参加してきました。
reactjs-meetup.connpass.com
- @koba04さんのライブコーディングがいい刺激になりました!suspenseはまだunstableとのことですが早く使えるようになってほしいです!
- Apolloはちょっとさわったことありましたが、Reduxの面倒なとこが減りそうだなという期待が広がりました!
読みやすいコードの書き方のススメ
読みやすいコード
- 他の人と作業する時流れが理解しやすい
- 久しぶりに見ても迷わない
Reactのコードを読みやすくするポイント
eslint-config-airbnb
- ルール厳し目
- 誰が書いても似たようなコードになる
- VSCodeの拡張と組み合わせてauto-fixもおすすめ
defaultProps
importの整理
- 順番が適当だと分かりづらい
- 順序のルールを決めておく
React HooksとReduxとProxy
React HooksとReduxとProxy
- function componentsで全て完結する仕組み
Redux とReact Redux
React Reduxの代替
- Reduxを使わずにHooksで同じようなことを実現
- Reduxは使うけどReact Reduxは使わずに実現
Reduxの問題点
- stateはグローバル
- stateの一部の変更で関係ないcomponentまでレンダリングされてしまう
auto-detect
- 何もしなくてもselectorを指定したときと同じように動かす
- Proxyを使う
- stateのうちどの部分が使われたか知ることができる
- Proxyが重いけどなんとか使えるレベルでは動いてる
ちょっと先のReact
ライブコーディング
- unstableなAPIを使っていく
- suspense
- loadingの出し分けとか簡単
- prerenderingも簡単
- DevToolsのreactの拡張で各コンポーネントのレンダリング時間見れるようになる
コード
github.com
ApolloとReactを使ったアプリケーション設計
GraphQL
- サーバサイドでqueryを定義
- エンドポイントは一つだけ
- queryをサーバに投げる
- 結果をUIに返す
- キャッシュとかもやってくれる
- ローカルの状態をGraphQLのクエリを使い処理する
- mutation投げるときにローカルの処理もできる
- Reduxと比べてApolloは
- fetchのフラグ管理がとても楽
- 部分更新が簡単
- リモートとローカルを同一クエリで表現できる
- 複雑な処理を書くのはあまり向いてない
まとめ
- Apolloはエコシステム含めて充実している
- Reduxのコード減らせる可能性高い