我有一个 React 组件 Activity,带有一个 DataTable 和一个 Drawer(来自 Material UI)。我根据isDrawerOpen
Activity 组件的状态属性设置 Drawer 是否打开。但是,当isDrawerOpen
更新时,Activity、Drawer 和 DataTable 都会重新渲染。
我不想DataTable
重新渲染,因为什么都没有改变。如果props相同React.memo
,我已经尝试使用并且我已经尝试useEffect
在useRef
我的 DataTable 功能组件中结合使用不重新渲染。它不工作。当它的 props 没有改变时,如何防止这个子组件重新渲染?
const Activity = props => {
const [isDrawerOpen, setIsDrawerOpen] = useState(false);
const [tableData, setTableData] = useState(["banana", "orange", "apple"]);
return (
<div>
<DataTable data={tableData} onRowClick={() => setIsDrawerOpen(true) } />
<Drawer open={isDrawerOpen}>Some Drawer Content </Drawer>
</div>
)
}