ice

Results 17 comments of ice

Has this problem been solved

@yoyo837 大佬,这个麻烦review一下~

连续执行多次`runAsync`, 只会`resolve`一次,其他的全部`pending`了 ``` if (currentCount !== this.count) { // prevent run.then when request is canceled return new Promise(() => {}); } ```

个人理解:`useSetState`并没有提供reset这样类似的hook,但是可以变通解决 ``` const [state, setState] = useSetState({ name: 'ice', age: 24, }) const resetState = useCallback(() => { setState(() => state) }, []) ``` `resetState`本质利用的是闭包,保存初始值即可,这里`setState`需要用回调函数的方式,因为在其源码中,如果是函数的方式,则把`prevState`传递出来,返回值我们自己控制,不然传递非函数的形式,会进行合并,或者返回上一次的状态。

感觉这个不太用纠结,状态其实也就那几个,反而个人觉得统一的风格更为重要,如果有后面在扩展即可

@pangao66 `getState`可以麻烦给一个使用场景吗,state可以直接访问

ok, 交给我吧~, 另外`useSetState`和`useGetState`打算移除吗 如果不打算移除,我直接`import`进来了 ``` const [state, { setState, getState, resetState, setObjectState }] = useProState(); ```

另外向`reset`这种,大部分都没有考虑随机数的情况,统一处理下不?如果要的话我整理一起弄下