「ReactとVueを比較する」ような(Google検索上位の)記事の質について
念のため、このスクラップは、所属会社・団体の意見を代表するものではありません
React 使用者としての視点で書かれています
人材会社(?)タイプ
薄い背景情報で無理やり「星取表」化
「それって、あなたの感想じゃなくて、誰かの言葉の孫引きですよね?」と言いたくなるような特性比較
初心者が書いた「書き味比較」系の記事
このスクラップは、主にこちらのタイプの記事について触れる
潜在していそうな構造的問題
「React と Vue どちらに入門するか」は初心者にとって大きな課題
よく習熟した人の関心事は「〇〇はどう実装するか」(深いテーマ)
初心者が記事を書こうとしたとき、深いテーマではなく、このようなテーマが選定されてしまいやすい
いっぽうで React と Vue の特徴をよく捉えて把握するのは難しい
片方のみ習熟した人が書かない傾向がありそう
下手なことを書くとマサカリが飛んでくるし
「自分は何が分かってないか」を知ってしまっている
そもそも何のツールでも、習熟すれば使いこなせる
React も Vue も etc. も「学習曲線の急さ」ぐらいしかメジャーな差別化ポイントが無いだろう
→ よって、浅い知識で書かれた記事が、初心者含めて多くの人の目に触れやすい(と思う)
Reactに習熟してない人が書きがちな、過剰に難しく複雑に見えるReactのコード例
(そら、知識ゼロの視点だと直感に反する書き方だから分かりにくいのは事実だけど…)
「関数コンポーネントの関数は、再レンダリングのたびに毎回実行される」ことを知らずに書いている
「〇〇が変わるたびに再計算」を useEffect で書いてしまいがち
「初期化する処理」をuseEffectに書いてしまいがち
「エフェクト = 初期化+更新時」と一体にしてロジックを捉えるべき
副作用を置く場所としてエフェクトとイベントハンドラを使い分ける
レンダリング(マウント時も含む)の直後に実行する副作用はエフェクト
共通化できない「更新時の処理」である副作用はイベントハンドラ
exhaustive でない依存配列
実装者が任意に決めるものでない
クロージャが補足するリアクティブ値を(できれば eslint で)機械的に列挙するべき