【问题标题】:How to stop a React render on media queries如何在媒体查询上停止 React 渲染
【发布时间】:2017-10-08 14:26:58
【问题描述】:

我有现有的 CSS(因此,我应该考虑它),其中包括是否显示元素的媒体查询。 CSS 按预期工作,但问题是 React 仍然会重新渲染和重新构建 DOM,即使媒体查询导致元素无论如何都不会重新渲染。

有没有办法告诉 react 不渲染?有没有办法在 React 中检测媒体查询,然后如果媒体查询拒绝,则不渲染?

【问题讨论】:

  • 媒体查询不会影响 DOM。媒体查询对 React 是否应该渲染没有影响

标签: javascript reactjs media-queries


【解决方案1】:

您可以使用matchMedia 并从shouldComponentUpdate 返回false

根据您的用例,类似于以下内容

shouldComponentUpdate(nextProps) {
    return window.matchMedia('(min-width: 768px)').matches
}

【讨论】:

    猜你喜欢
    • 2020-12-23
    • 2016-10-07
    • 2012-10-23
    • 1970-01-01
    • 2021-04-06
    • 2020-09-10
    • 2016-12-26
    • 1970-01-01
    相关资源
    最近更新 更多