如何强制React渲染相同的组件实例

时间:2019-05-26 10:51:51

标签: reactjs

我试图基于屏幕尺寸获取React render props.children。该代码可以工作,但是React重新创建props.children的新组件实例。有没有办法强迫React保持相同的组件实例,这样我就不会失去其状态?

我都尝试了useMemo()memo()。我尝试使用关键道具。它们都不起作用。

<Hidden mdUp>
  <Dialog open maxWidth="md" fullWidth>
    <DialogTitle>{props.header}</DialogTitle>
    <DialogContent>{props.children}</DialogContent>
    <DialogActions><Button onClick={props.onClose}>Close</Button></DialogActions>
  </Dialog>
</Hidden>
<Hidden mdDown>
  <Typography variant="h4" gutterBottom>{props.header}</Typography>
  {props.children}
</Hidden>

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用shouldComponentUpdate()并返回true?它将使您的组件改变道具或不改变。