親コンポーネントが更新されると、子コンポーネントは必ずre-renderされる
対策
Preactにはないぞ。どうすりゃええねんtakker.icon preact/compatを入れたら使えるが、そうするとファイルサイズが大きくなってしまい、Preactを使っている意味がなくなる 2024-07-10全部入れても2kBしか増えないから、いれてもよさそう
ただ、eventの挙動がReact準拠になってしまう
react hooksでJSXを返す
ありなんかいそれtakker.icon
code:jsx
const Dial = ({ onClick, children }) => useMemo(() => {
console.log("rendered!");
return (
<div style="user-select: none;" onClick={onClick}>
{children}
</div>
);
references
公式の解説