React.js
消えるライフサイクルメソッドについて
Misoca 秋のLT大会 2019.10.10
登壇者について
furuichi (@takfjp)
株式会社カオナビ所属
主にフロントエンド(React)の開発に携わっています
https://corp.kaonavi.jp/recruit/
Reactのバージョンアップでこれから消えるライフサイクルメソッドについてお話しします
・現在のReactのバージョン
v16.10.0 Released! (2019/10現在)
・v17 の登場はまだ未定
これまでの主な Breaking Changes
v16.3 (2018/03)
v16.8 (2019/02)
目覚ましい進歩と
その裏で消えゆく者たち・・・
消える(予定)ライフサイクルメソッド
componentWillMount
componentWillRecieveProps
componentWillUpdate
componentWillMount -> UNSAFE_componentWillMount
componentWillRecieveProps -> UNSAFE_componentWillRecieveProps
componentWillUpdate -> UNSAFE_componentWillUpdate
v16.9 より接頭辞 UNSAFE_ がないと warning
v17 で完全に削除 (後方互換性なし)
-> 接頭辞つきであればであればv17でも動作 ??
消えずに残る者
componentWillUnmount
まだまだ現役じゃぞい
なぜ消える?
対策 (1)
対策 (2)
リファクタのコストが高い場合:
❯ npx react-codemod rename-unsafe-lifecycles <path>
https://github.com/reactjs/react-codemod#rename-unsafe-lifecycles
コマンドラインからファイルを指定
-> 廃止予定のメソッド名を自動的に UNSAFE_xxx に置換
Thank you!
🥳