タイトルが長い。 useEffectとかuseMemoとかの第一引数に渡した関数を発火させるかどうかの条件指定とも言える第二引数の配列にオブジェクトをまるごと入れたらどうなるのか というはなし。 勘違いしそうなので最初に説明しておくと、 useMemo(()=> someFunction(), myObject) ではなくて useMemo(()=> someFunction(), [myObject]) です。配列の中にオブジェクトであって第二引数に直接オブジェクトではない。 なお当記事はReact16.8.1でのバージョン時点でのはなしです。 それで、タイトルのことをコードで書くとこう。当記事ではuseMemoを例にその実態を追う。 const myObj1 = { foo: "foo", bar: "bar", baz: { qux: 100, quux: { deepFoo: 'I