タグ

ブックマーク / zenn.dev/sora_kumo (2)

  • Reactのmemo化で再レンダリングが防げるという誤解を解く

    memo化について Reactのコンポーネントをmemo化するとき、再レンダリングを防ぐという記述を見かけることがあります。それは誤解であり、実際にmemo化で出来るのは以下のようになものです。 関数の再評価(ロジックの再実行)は防げる 仮想DOMの差分比較は防げない 最終的なレンダリングは確定した仮想DOMの状態次第なので、memo化に関係なく差分があるかどうかでDOM操作が決定する Reactは仮想DOMの値に変化があった場合に、DOMを書き換える構造になっています。memo化は仮想DOMの生成結果をキャッシュしているに過ぎません。親コンポーネントが再評価されれば、子コンポーネントはmemo化の可否に関わらず差分比較の対象です。 簡単な例 ソースコード import React, { memo, useState } from 'react'; const Test1 = memo((

    Reactのmemo化で再レンダリングが防げるという誤解を解く
  • Prisma Accelerate を Self Host して ローカルDBへアクセスする

    Edge Runtime 上での Prisma Accelerate の必要性 Prisma を Edge-Runtime という制限された環境で使う場合、DB へクエリを発行する機能を持った PrismaEngine を直接動かすことが出来ません。これは PrismaEngine が Rust で書かれているためです。いずれは対応される可能性はありますが、現時点では動きません。このため、Edge-runtime 上で Prisma を使う場合は、PrismaEngine を切り離した状態で使う必要があります。 ここで登場するのが Prisma Accelerate という Prisma の公式サービスです。このサービスを使うと、PrismaClient 上で呼び出したクエリは、一旦 JsonProtocol に変換され、手元の PrismaEngine をスルーして、Prisma Acc

    Prisma Accelerate を Self Host して ローカルDBへアクセスする
  • 1