请教一个问题,父组件传递一个简单对象 {a: 1} 给 Count 子组件,子组件使用 React.memo,点击 click 父组件更新时,子组件为什么还会重新渲染呢?(React.memo的浅比较不是会比较一层吗,两次的 {a: 1} 虽然指针不同,但浅比较应该返回 true)
import React, { useState, useEffect } from 'react'
const Count = React.memo(props => {
const { prop } = props
useEffect(() => {
console.log('count render')
})
return <p>this is count component</p>
})
function App() {
const [value, setValue] = useState(1)
const obj = { a: 1 }
return (
<div>
<p>value: {value}</p>
<p onClick={() => { setValue(value + 1) }}>click</p>
<Count prop={obj} />
</div>
)
}
export default App