hooks使いたくて React のバージョン上げたものの useState の 関数が動かなかったり useEffect がエラー出したりする人は react-hot-loader のバージョンを上げると動くかも

hooks使いたくて React のバージョン上げたものの useState の 関数が動かなかったり useEffect がエラー出したりする人は react-hot-loader のバージョンを上げると動くかも:

バージョン追随ちゃんとやっていないことがバレバレな記事だが同じアナにハマっている方もいらっしゃるかもしれないので共有。

先日React hooksが stable になった v16.8 がリリースされたが、ウキウキでバージョン上げて開発サーバを立ち上げたところ次のような症状が出た。

  • useState の set関数が動かない
// 例: これの setCount が実行されてもエラーを出力することもなく、ただただ count が変わらない 
const [count, setCount] = useState(0) 
  • useEffectが Cannot read property 'read' of undefined というエラーを出して死ぬ
  • hooks使っているFunctionコンポーネントを classコンポーネントの中で使うと Hooks can only be called inside the body of a function component と怒られて死ぬ
原因としては react-hot-loader のバージョンが低いことだった。

READMEに書いてある通り v4.6.0 以上では特に何も設定せずとも hooks が動くみたい。

[React Hooks] Incompatibility with react-hot-loader
https://github.com/gaearon/react-hot-loader#react-hooks

それ未満の場合は次のような設定を加える必要があるそうです。

setConfig({ pureSFC: true }); 

コメント

このブログの人気の投稿

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2020-12-01 09:41:49 RSSフィード2020-12-01 09:00 分まとめ(69件)