Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(slider): slider will rerender when every mouseEvent emitted #2658

Closed
wants to merge 1 commit into from

Conversation

NWYLZW
Copy link
Collaborator

@NWYLZW NWYLZW commented Dec 11, 2023

We only should setState when the position changes

🤔 这个 PR 的性质是?

  • 日常 bug 修复
  • 新特性提交
  • 文档改进
  • 演示代码改进
  • 组件样式/交互改进
  • CI/CD 改进
  • 重构
  • 代码风格优化
  • 测试用例
  • 分支合并
  • 其他

🔗 相关 Issue

💡 需求背景和解决方案

开发环境时如果稍微快速拖动 Slider 调整数据,就很容易导致组件的 rerender,因为组件将每一个鼠标移动事件,都进行了状态的更新。

在这里我们使用一个 Ref 的 number[] 数组对已有的数据进行缓存,只有和上一步的值出现了变动的时候,才需要去更新我们的状态,从而防止触发 React 的短时间内过多的更新导致的白屏现象。

📝 更新日志

  • fix(slider): 更好的拖拽性能

  • 本条 PR 不需要纳入 Changelog

☑️ 请求合并前的自查清单

⚠️ 请自检并全部勾选全部选项⚠️

  • 文档已补充或无须补充
  • 代码演示已提供或无须提供
  • TypeScript 定义已补充或无须补充
  • Changelog 已提供或无须提供

We only should setState when the position changes
Copy link
Contributor

完成

@NWYLZW NWYLZW closed this Dec 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant