xbw19975
xbw19975
请考虑一下不在node环境,如果说只能运行在node环境,请在文档里标名。
新hook基于老的hook主要有以下几点 1.支持一对一发布订阅 2.支持订阅方法里使用state.通过依赖项保证值的最新 3.支持asyncEmit 等待一些异步方法 4.拆分原始类,支持hook方式使用 和 不在函数组件内订阅发布方法.例如utils.js内使用.
> 可以试试`useEventEmitter` > > https://ahooks.gitee.io/hooks/use-event-emitter 是我没看到了,确实有类似的hook.但是这个好像不支持state依赖项.也不支持异步方法的await.我可以尝试去修改一下原代码.可以给我一个提交分支的权限吗
> > > 可以试试`useEventEmitter` > > > https://ahooks.gitee.io/hooks/use-event-emitter > > > > > > 是我没看到了,确实有类似的hook.但是这个好像不支持state依赖项.也不支持异步方法的await.我可以尝试去修改一下原代码.可以给我一个提交分支的权限吗 > > 可以列一下使用场景吗? 1.A组件内订阅方法,方法内有使用到state的值,把用到的state添加到依赖项中,这样其他地方调用的时候方法内才能获取到最新的状态值 2.我订阅的是一个异步方法.我在使用的地方需要保证执行的顺序,需要等待订阅的方法执行完在执行后续代码.asyncEmit 就闲的很有必要 3.当前的代码我看了,使用的是Set集合,所有订阅的方法会放到集合中.然后emit的时候会调用所有方法.这样没办法做到一对一的订阅和调用.如果有2个订阅方法.我一次只希望执行一个特点的方法,当前好像没办法实现.  我认为这种方式的调用和真正的发布订阅有一些差距,我理想的应该是我订阅了很多方法有ABCD.然后我调用的时候emit(A),就只执行A方法.
> > 可以给我一个提交分支的权限吗 > > @xbw19975 fork 仓库即可贡献代码哈~ 准备长期参与 ahooks 维护的才会给主仓库的分支权限 现在有一个问题困扰着我,因为我的代码已经完成.且test完成,如果修改原来的hook会比较麻烦.我应该去修改还是添加新的hook呢,给个建议
> 我使用mitt简单实现了一版,和提问的兄弟实现的差不多 > > ```js > import { useEffect } from 'react' > import mitt from 'mitt' > > type Events = { > [key: string]: any > } >...