Releases: alibaba/hooks
Releases · alibaba/hooks
v3.9.5
What's Changed
- 🆕 新功能
- 由 @Arktomson 贡献,在 #2844 中将 js-cookie 的类型包放到生产依赖中。
- 🛠️ 代码重构
- 🔧 项目配置
- 📖 文档更新
- 由 @atharva6868 贡献,在 #2840 中为 useBoolean 钩子添加了新的使用示例。
- 🐛 Bug 修复
- 🆕 New Features
- Contributed by @Arktomson, added the type package of js-cookie to the production dependencies in #2844.
- 🛠️ Code Refactoring
- 🔧 Project Configuration
- 📖 Documentation Updates
- Contributed by @atharva6868, added a new usage example for the useBoolean hook in #2840.
- 🐛 Bug Fixes
New Contributors
- @BH4HPA made their first contribution in #2843
- @Arktomson made their first contribution in #2844
- @atharva6868 made their first contribution in #2840
Full Changelog: v3.9.4...v3.9.5
v3.9.4
What's Changed
💪 chore: 测试命令改进。由 @Meet-student 贡献,详情见 PR #2835
🐞 fix: 修复 reloadAsync runAsync 负载问题。由 @Meet-student 贡献,详情见 PR #2836
💪 chore: Test command improvement. Contributed by @Meet-student, see PR #2835 for details.
🐞 fix: Fix the payload issue of reloadAsync runAsync. Contributed by @Meet-student, see PR #2836 for details.
Full Changelog: v3.9.3...v3.9.4
v3.9.3
What's Changed
- 🐞 修复:修复
useRequest
在配置cachekey
后,某些情况下不执行onSuccess
方法的问题 (#2035) @xun-zi #2255 - 🐞 修复:修复
useMount
返回 Promise 的问题 @Meet-student #2833
- 🐞 Fix: Fixed the issue that the
onSuccess
method ofuseRequest
was not executed in some cases after configuringcachekey
(#2035) @xun-zi #2255 - 🐞 Fix: Fixed the problem of
useMount
returning a Promise @Meet-student #2833
New Contributors
Full Changelog: v3.9.1...v3.9.3
v3.9.1
What's Changed
- 🆕 新功能
- feat: usemount 支持析构函数 by @iambimo24 in #2713
- type: useUrlState 参数类型添加数组 by @zhuleizhang in #2790
- 🔧 配置更新
- chore: 更新开发依赖 by @li-zhen-zhennnnnn in #2802
- chore: 升级依赖版本并在 CI 中使用 nodejs v20,22 by @ianzone in #2800
- 🐛 问题修复
- fix: createUseStorageState 类型未知问题 by @Meet-student in #2795
- fix: 修复 useRequest 在启动两个以上轮询时,设置页面隐藏停止轮询,页面重新显示时,有请求不自动开始轮询的问题。 by @JaxonJay in #2688
- fix: 修复 useInfiniteScroll 时序竞争问题 by @duwenhan2byte in #2786
- fix: 提取集合操作的公共函数 by @maxiaokai1996 in #2661
- fix: 修复 readyState 判断问题 by @dongmucat in #2705
- fix: tsconfig 问题 by @ianzone in #2805
- 🎨 代码重构
- refactor(useTheme): 提高代码可读性 by @w2xi in #2803
- Refactor jest to vitest by 2814 by @Meet-student in #2818
- 📖 文档修复
- docs: 修复 useClickAway 在 React 19 中的示例 by @li-jia-nan in #2798
- docs: 修复 useFusionTable 在 React 19 中的示例 by @li-jia-nan in #2799
- ✅ 测试更新
- test(use-url-state): 使用 vitest 进行测试 by @ianzone in #2804
- test(createDeepCompareEffect): 使用 vitest 进行测试 by @ianzone in #2807
- test(createUpdateEffect): 使用 vitest 进行测试 by @ianzone in #2810
- test(useBoolean): 使用 vitest 进行测试 by @ianzone in #2813
- test(useStorageState): 使用 vitest 进行测试 by @ianzone in #2811
- test(useAsyncEffect): 使用 vitest 进行测试 by @ianzone in #2812
- 👷 CI 相关
- 🆕 New Features
- feat: usemount supports destructor by @iambimo24 in #2713
- type: The parameter type of useUrlState adds an array by @zhuleizhang in #2790
- 🔧 Configuration Updates
- chore: Update development dependencies by @li-zhen-zhennnnnn in #2802
- chore: Upgrade dependency versions and use nodejs v20,22 in CI by @ianzone in #2800
- 🐛 Bug Fixes
- fix: Fix the unknown type issue of createUseStorageState by @Meet-student in #2795
- fix: Fix the problem that when useRequest starts more than two polling requests, if the page is set to hide to stop polling, and the page is redisplayed, some requests do not automatically start polling. by @JaxonJay in #2688
- fix: Fix the timing competition issue of useInfiniteScroll by @duwenhan2byte in #2786
- fix: Extract common functions for set operations by @maxiaokai1996 in #2661
- fix: Fix the readyState judgment issue by @dongmucat in #2705
- fix: Fix tsconfig issues by @ianzone in #2805
- 🎨 Code Refactoring
- refactor(useTheme): Improve code readability by @w2xi in #2803
- Refactor jest to vitest by 2814 by @Meet-student in #2818
- 📖 Documentation Fixes
- docs: Fix the useClickAway demo in React 19 by @li-jia-nan in #2798
- docs: Fix the useFusionTable demo in React 19 by @li-jia-nan in #2799
- ✅ Test Updates
- test(use-url-state): Use vitest for testing by @ianzone in #2804
- test(createDeepCompareEffect): Use vitest for testing by @ianzone in #2807
- test(createUpdateEffect): Use vitest for testing by @ianzone in #2810
- test(useBoolean): Use vitest for testing by @ianzone in #2813
- test(useStorageState): Use vitest for testing by @ianzone in #2811
- test(useAsyncEffect): Use vitest for testing by @ianzone in #2812
- 👷 CI Related
New Contributors
- @zhuleizhang made their first contribution in #2790
- @li-zhen-zhennnnnn made their first contribution in #2802
- @Meet-student made their first contribution in #2795
- @w2xi made their first contribution in #2803
- @iambimo24 made their first contribution in #2713
- @JaxonJay made their first contribution in #2688
- @duwenhan2byte made their first contribution in #2786
- @maxiaokai1996 made their first contribution in #2661
- @dongmucat made their first contribution in #2705
Full Changelog: v3.9.0...v3.9.1
v3.9.0
What's Changed
- 🆕 新功能
- 由 @li-jia-nan 贡献,在 #2776 中为 ahooks 添加了 cursor rules。
- ⬆️ 依赖升级
- 由 @li-jia-nan 贡献,在 #2775 支持 React 19。
- 🐛 Bug 修复
- 由 @Triumph-light 贡献,在 #2778 中修复了运行开发环境的问题。
- 由 @ZephyrAndMoon 贡献,在 #2785 中修改了
useLonePress
在特殊设备、特殊情况下长按事件不触发的问题。
- 📖 文档更新
- 由 @cwen-jdoit 贡献,在 #2678 中更新了
useLocalStorageState
的文档。 - 由 @superBigPotato 贡献,在 #2680 中修改了
useClickAway
文档描述,使Target
属性支持函数。 - 由 @xbsheng 贡献,在 #2787 中更新了
style.css
的路径。
- 由 @cwen-jdoit 贡献,在 #2678 中更新了
- 🆕 New Features
- Contributed by @li-jia-nan, added cursor rules for ahooks in #2776.
- ⬆️ Dependency Upgrade
- Contributed by @li-jia-nan, upgraded the project to React 19 in #2775.
- 🐛 Bug Fixes
- Contributed by @Triumph-light, fixed the issue of running the development environment in #2778.
- Contributed by @ZephyrAndMoon, modified the problem that the long - press event of
useLonePress
does not trigger under special devices and special circumstances in #2785.
- 📖 Documentation Updates
- Contributed by @cwen-jdoit, updated the documentation of
useLocalStorageState
in #2678. - Contributed by @superBigPotato, modified the documentation description of
useClickAway
to make theTarget
property support functions in #2680. - Contributed by @xbsheng, updated the path of
style.css
in #2787.
- Contributed by @cwen-jdoit, updated the documentation of
New Contributors
- @Triumph-light made their first contribution in #2778
- @ZephyrAndMoon made their first contribution in #2785
- @cwen-jdoit made their first contribution in #2678
- @superBigPotato made their first contribution in #2680
Full Changelog: v3.8.5...v3.9.0
v3.8.5
What's Changed
🐛 修复问题
- fix: 修复 SSR 场景下的 bug by @li-jia-nan in #2691
- fix: 修复 createUseStorageState 在 3.7.7 以上版本返回 undefined 类型的问题 by @chooin in #2681
- fix(useAntdHooks): 修复 autoRequest 与 manual: true 冲突的问题 by @yangliguo7 in #2714
- 修复变量未定义导致的 run test 报错问题 by @luckymore in #2772
📘 文档改进
- doc: 修复排版问题 by @coding-ax in #2701
- 更新中文文档 index.zh-CN.md by @jinmmd in #2745
🛠 开发工具与维护
- chore(useLatest): 修复拼写错误 by @xbsheng in #2703
- chore: 更新钉钉二维码 by @li-jia-nan in #2700
- ♻️ chore: 移除无用代码 by @Wxh16144 in #2721
- Create static.yml 文件 by @crazylxr in #2754
- chore: 更新 static ci 配置 by @crazylxr in #2755
- chore: 添加对 React 19 的 peer 依赖 by @ianzone in #2764
- Feat/static ci 相关功能开发 by @crazylxr in #2756
🔧 类型与性能优化
- Update useMemorizedFn 的返回值类型 by @XDUyhfu in #2749
- 完善 use-url-state 的 TypeScript 出参类型 by @LongHaoo in #2731
- chore(useLatest): fix spelling by @xbsheng in #2703
- chore: update dingding qr-code by @li-jia-nan in #2700
- doc: fix typography problem by @coding-ax in #2701
- Update useMemorizedFn return value type by @XDUyhfu in #2749
- fix: fix ssr bug by @li-jia-nan in #2691
- fix: createUseStorageState 3.7.7 以上版本返回 undefined 类型问题 by @chooin in #2681
- ♻️ chore: remove dead code by @Wxh16144 in #2721
- Create static.yml by @crazylxr in #2754
- chore: update static ci by @crazylxr in #2755
- Feat/static ci by @crazylxr in #2756
- Update index.zh-CN.md by @jinmmd in #2745
- feat: use-url-state 出参 typescript 完善 by @LongHaoo in #2731
- chore: add peer react 19 by @ianzone in #2764
- fix(useAntdHooks):fix autorequest with manual is true by @yangliguo7 in #2714
- 修复变量不存在导致的 run test 报错 by @luckymore in #2772
New Contributors
- @xbsheng made their first contribution in #2703
- @coding-ax made their first contribution in #2701
- @XDUyhfu made their first contribution in #2749
- @chooin made their first contribution in #2681
- @Wxh16144 made their first contribution in #2721
- @jinmmd made their first contribution in #2745
- @LongHaoo made their first contribution in #2731
- @yangliguo7 made their first contribution in #2714
- @luckymore made their first contribution in #2772
Full Changelog: v3.8.2...v3.8.5
v3.8.2
What's Changed
- 🔥 feat: add useTheme hook by @ianzone in #2617
- 🔥 feat: support for array as event parameter in useEventListener by @askwuxue in #2598
- 🔥 feat: support useInfiniteScroll scroll to top by @jaluik in #2565
- 🐛 fix: Compatible with the case where props is null in useControllableValue by @mmmml-zhao in #2636
- 🐛 fix: When manual=true, defaultParam will not populate the default values in form. by @askwuxue in #2594
- 🛠 chore: Wrap the second parameter of the return value from useSetState with useMemoriedFn. by @askwuxue in #2592
- 🛠 chore: Replace prettier with biome by @ianzone in #2629
- 🛠 chore: Update pnpm to v9 by @ianzone in #2621
- 🔥 feat: 新增 hook useTheme by @ianzone in #2617
- 🔥 feat: useEventListener 事件支持传入数组参数 by @askwuxue in #2598
- 🔥 feat: useInfiniteScroll 支持了direction, 提供向上滚动加载的支持 by @jaluik in #2565
- 🐛 fix: 兼容了 useControllableValue 的 props 为 null 的情况 by @mmmml-zhao in #2636
- 🐛 fix: useAntdTable 在 manual=true 的情况下 defaultParam 不会填充表单默认值 by @askwuxue in #2594
- 🛠 chore: 使用 useMemoriedFn 包装 useSetState 返回值中的第二个参数 by @askwuxue in #2592
- 🛠 chore: 使用 biome 替换 prettier by @ianzone in #2629
- 🛠 chore: 更新 pnpm 至 v9 by @ianzone in #2621
New Contributors
- @ianzone made their first contribution in #2621
- @mmmml-zhao made their first contribution in #2636
- @jaluik made their first contribution in #2565
Full Changelog: v3.8.1...v3.8.2
v3.8.1
What's Changed
- 🐛 fix(useResponse): adds default export by @CJY0208 in #2555
- 🐛 fix(useSelections):
setSelected
should support non-array value by @liuyib in #2559 - 🐛 fix(useResetState): reset random initial value incorrectly by @hemengke1997 in #2562
- 🐛 fix: resolves depsEqual performance issues by @caorushizi in #2578
- 🐛 fix:
TypeError: props.hasOwnProperty is not a function
by @ShaofeiZi in #2596 - 🐛 fix: resolves useRquest debounce issue by @ruixingshi in #2606
- 🐛 fix: solve the compatibility issue of useLongPress on desktop Safari by @mscststs in #2602
- 🛠 chore(useRequest): the official useRequest hooks documentation has an error. In version 2, the option parameter should be throwOnError by @chovrio in #2563
- 🛠 chore: bump js-cookie to ^3.0.5 by @fisherspy in #2600
- 🤖 ci: "intall" word error, should be "install" by @long36708 in #2587
- 🤖 ci: change node.js version to 18, 20 and update actions version by @liuyib in #2604
- ⚡ test: update useLatest test case by @FEliuyg in #2586
- 📚 docs: fix the Chinese mirror by @zhangmo8 in #2608
- 🐛 fix(useResponse): 添加默认导出,由 @CJY0208 提交于 #2555
- 🐛 fix(useSelections):
setSelected
应该支持非数组值,由 @liuyib 提交于 #2559 - 🐛 fix(useResetState): 重置随机初始值错误,由 @hemengke1997 提交于 #2562
- 🐛 fix: 解决 depsEqual 性能问题,由 @caorushizi 提交于 #2578
- 🐛 fix: 修复
TypeError: props.hasOwnProperty is not a function
由 @ShaofeiZi 提交于 #2596 - 🐛 fix: 解决 useRquest 防抖问题,由 @ruixingshi 提交于 #2606
- 🐛 fix: 解决 useLongPress 在桌面端 Safari 不兼容的问题,由 @mscststs 提交于 #2602
- 🛠 chore(useRequest): 官方文档 useRequest hooks 文案错误,v2 中的 option 参数应该是 throwOnError,由 @chovrio 提交于 #2563
- 🛠 chore: 将 js-cookie 升级到 ^3.0.5,由 @fisherspy 提交于 #2600
- 🤖 ci: "intall" 单词错误,应为 "install",由 @long36708 提交于 #2587
- 🤖 ci: 将 node.js 版本更改为 18、20 并更新 actions 版本,由 @liuyib 提交于 #2604
- ⚡ test: 更新 useLatest 测试用例,由 @FEliuyg 提交于 #2586
- 📚 docs: 修复中文镜像,由 @zhangmo8 提交于 #2608
New Contributors
- @chovrio made their first contribution in #2563
- @caorushizi made their first contribution in #2578
- @long36708 made their first contribution in #2587
- @FEliuyg made their first contribution in #2586
- @ShaofeiZi made their first contribution in #2596
- @mscststs made their first contribution in #2602
- @zhangmo8 made their first contribution in #2608
- @ruixingshi made their first contribution in #2606
- @fisherspy made their first contribution in #2600
Full Changelog: v3.8.0...v3.8.1
v3.8.0
What's Changed
- ✨ feat(useStoage): listen to
storage
event by @vaakian in #2298 - ✨ feat(useSelections): support object array by @liuyib in #2485
- ✨ feat(useDynamicList): add
batchRemove
method by @xiaozisong in #2340 - ✨ feat(useSelections): add clearAll result by @lich-yoo in #2357
- 🐛 fix(type): fixed up some types that are non-standard and errors on
useExteneral
hook by @LonelyFellas in #2508 - 🐛 fix(useVirtualList): get correct offset when itemHeight is fixed by @leedawn in #2279
- 🐛 fix(useAntdTable): type of Params by @conorzhong in #2377
- 🔄 perf(createUseStorageState): avoid setState being invoked twice by @liuyib in #2532
- 🎨 style(utils): add default return value to
checkIfAllInShadow
by @enson0131 in #2529 - ⚡ test(useSelections): fix test case error by @liuyib in #2536
- 🛠 chore(useLatest): add a default state for comparison in useLatest demo by @shfshanyue in #2523
- ✨ feat(useStoage): 监听
storage
事件,由 @vaakian 提交于 #2298 - ✨ feat(useSelections): 支持对象数组,由 @liuyib 提交于 #2485
- ✨ feat(useDynamicList): 添加
batchRemove
方法,由 @xiaozisong 提交于 #2340 - ✨ feat(useSelections): 添加清除所有结果,由 @lich-yoo 提交于 #2357
- 🐛 fix(type): 修复
useExteneral
hook 上的一些非标准和错误类型,由 @LonelyFellas 提交于 #2508 - 🐛 fix(useVirtualList): 当 itemHeight 固定时获取正确的偏移量,由 @leedawn 提交于 #2279
- 🐛 fix(useAntdTable): 修复 Params 的类型问题,由 @conorzhong 提交于 #2377
- 🔄 perf(createUseStorageState): 避免 setState 被调用两次,由 @liuyib 提交于 #2532
- 🎨 style(utils): 为
checkIfAllInShadow
添加默认返回值,由 @enson0131 提交于 #2529 - ⚡ test(useSelections): 修复测试用例错误,由 @liuyib 提交于 #2536
- 🛠 chore(useLatest): 在 useLatest demo 中添加一个默认状态用于比较,由 @shfshanyue 提交于 #2523
New Contributors
- @LonelyFellas made their first contribution in #2508
- @conorzhong made their first contribution in #2377
- @leedawn made their first contribution in #2279
- @enson0131 made their first contribution in #2529
- @xiaozisong made their first contribution in #2340
- @lich-yoo made their first contribution in #2357
Full Changelog: v3.7.11...v3.8.0
v3.7.11
What's Changed
- 🐛 fix(useAntdTable): dynamic setting ready failed by @guaijie in #2489
- 🐛 fix(useCountDown): targetDate resets leftTime by @joe-leong in #2346
- ♻️ refactor: replace lodash/isEqual with react-fast-compare by @guoyunhe in #2458
- ♻️ refactor(useGetState): stateRef to useLatest by @GetWebHB in #2407
- ♻️ refactor(useInViewport): el is not empty by @GetWebHB in #2476
- ♻️ refactor(useLockFn): catch to finally by @GetWebHB in #2421
- ♻️ refactor(useRafInterval): optimize useEffect cleanup fn by @GetWebHB in #2426
- ♻️ refactor(useRafTimeout): optimize useEffect cleanup fn by @GetWebHB in #2420
- ♻️ refactor(createEffectWithTarget): the first parameter is old-deps by @GetWebHB in #2431
- 📚 docs(useLongPress): change options to default by @GetWebHB in #2479
- 🛠 chore(dev-deps): bump prettier & eslint by @li-jia-nan in #2248
- 🐛 fix(useAntdTable): 修复动态设置 ready 失效的 bug,由 @guaijie 提交于 #2489
- 🐛 fix(useCountDown): targetDate 重置 leftTime,由 @joe-leong 提交于 #2346
- ♻️ refactor: 使用 react-fast-compare 替换 lodash/isEqual,由 @guoyunhe 提交于 #2458
- ♻️ refactor(useGetState): stateRef 替换为 useLatest,由 @GetWebHB 提交于 #2407
- ♻️ refactor(useInViewport): el 不为空,由 @GetWebHB 提交于 #2476
- ♻️ refactor(useLockFn): catch 改为 finally,由 @GetWebHB 提交于 #2421
- ♻️ refactor(useRafInterval): 优化 useEffect 清理函数,由 @GetWebHB 提交于 #2426
- ♻️ refactor(useRafTimeout): 优化 useEffect 清理函数,由 @GetWebHB 提交于 #2420
- ♻️ refactor(createEffectWithTarget): 第一个参数是 old-deps,由 @GetWebHB 提交于 #2431
- 📚 docs(useLongPress): 将选项更改为默认值,由 @GetWebHB 提交于 #2479
- 🛠 chore(dev-deps): 更新 prettier 和 eslint 版本,由 @li-jia-nan 提交于 #2248
New Contributors
- @guoyunhe made their first contribution in #2458
- @guaijie made their first contribution in #2489
- @joe-leong made their first contribution in #2346
Full Changelog: v3.7.10...v3.7.11