【问题标题】:React/Redux - dispatch store on window.resizeReact/Redux - 在 window.resize 上调度存储
【发布时间】:2017-09-17 12:19:11
【问题描述】:

我正在开发一个响应式网站 (React/Redux),它会在达到指定的断点后立即呈现页面。每次浏览器调用resize-event,我都会更新store。

window.addEventListener('resize', () => {
    store.dispatch(screenResize(...));
});

如果每秒调用多次,有谁知道调度对性能的影响。

【问题讨论】:

  • 您是否有理由不在 CSS 中使用媒体查询执行此操作?对于这类问题,这通常是一个更简单的解决方案。
  • 我对大多数元素使用了媒体查询。但是如果到达另一个断点,一些元素必须改变它们的逻辑。

标签: reactjs resize redux addeventlistener flux


【解决方案1】:

因为大概只有在页面实际调整大小时才会调用它,所以它可能不会成为太大的问题。也就是说,作为一般观察,您可能需要考虑限制调度。

另外仅供参考,有一些现有的库可以帮助跟踪 Redux 中的窗口大小。请参阅我的Redux addons catalogUse Cases#Page Interaction 部分。

【讨论】:

  • 我也是这么想的。但是我不能限制调度,因为我必须立即对变化做出反应。这就是为什么我每次调用事件时都调用调度
  • 我之前使用的另一个选项是与debounce 结合使用,您使用组件的本地状态来跟踪即时更改,然后一旦用户完成调整大小,您将更改保存到商店。
猜你喜欢
  • 1970-01-01
  • 2020-02-01
  • 1970-01-01
  • 2020-09-12
  • 1970-01-01
  • 2020-10-12
  • 2018-05-05
  • 2018-01-06
  • 2021-10-17
相关资源
最近更新 更多