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

feature/imperative-set-timeout #2560

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

citrus327
Copy link

[English Template / 英文模板]

🤔 这个变动的性质是?

  • 新特性提交
  • 日常 bug 修复
  • 站点、文档改进
  • 演示代码改进
  • TypeScript 定义更新
  • 包体积优化
  • 性能优化
  • 功能增强
  • 国际化改进
  • 重构
  • 代码风格优化
  • 测试用例
  • 分支合并
  • 其他改动(是关于什么的改动?)

🔗 相关 Issue

#2537

💡 需求背景和解决方案

提供主动调用setTimeout的能力

useTimeout(
  fn: () => void,
  delay?: number | undefined
  options?: { defaultActive?: boolean }
): {
  clear: () => void;
  start: () => void;
  isActive: boolean;
};

📝 更新日志

  1. 修改返回值为对象类型 【BREAKING CHANGE】
  2. 提供startisActive两个新的返回值,用户可主动调用start进行定时器执行。 【BREAKING CHANGE】
  3. 提供options作为useTimeout的第三个参数,内含defaultActive,默认为true(兼容默认逻辑)
语言 更新描述
🇺🇸 英文
🇨🇳 中文

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

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

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

@CLAassistant
Copy link

CLAassistant commented May 29, 2024

CLA assistant check
All committers have signed the CLA.

@citrus327
Copy link
Author

@liuyib

说明一下

  1. isActive仅代表定时器的激活情况,不代表fn的运行情况,例如 fn运行完成不会将isActive置为false.
  2. 目前目标pr 分支为master,内含breaking改动

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.

2 participants