【发布时间】:2021-02-16 22:31:05
【问题描述】:
在这种情况下,我正在为子组件发送相同的道具和状态,所以...为什么没有React.memo() 不重新渲染并且这些日志只显示一次?
import React, { useState } from 'react';
import ReactDOM from 'react-dom';
const Child = ({ num }) => {
const [count, setCount] = useState(0);
return (
<>
{console.log('Child rendered')}
{count}<br />
{num}<br />
<button onClick={() => setCount(count)}>Add</button>
</>
)
}
const App = () => {
const [num, setNum] = useState(0);
return (
<>
{console.log('App rendered')}
<Child num={num} />
<button onClick={() => setNum(num)}>Add</button>
</>
)
}
ReactDOM.render(
<App />,
document.getElementById('root')
);
【问题讨论】:
-
@Quentin 我认为重复标记并不正确。有细微的差别。这没什么大不了的,因为我认为这个问题应该被关闭,无论是“不可重现还是由错字引起”,但我发现重复项有点误导,尤其是如果我是 OP
标签: javascript reactjs