react-composition-api
react-composition-api copied to clipboard
:art: Simple React state management. Made with @vue/reactivity and ❤️.
经过我长时间的使用,你的方案确实不错,但是还有更简的写法,没必要写的如你这般复杂: ```ts import { useEffect, useReducer } from "react"; import { effect, stop, ReactiveEffect } from '@vue/reactivity'; export function useReactiveState(fn: () => T) { const [state, dispatch] = useReducer((state: T,...
在 [TypeClient](https://github.com/flowxjs/TypeClient/commit/8ca49b4ce11985a9eed40ef1f0a7148d343e5ecf) 这个项目的bugfix阶段,我们发现你的逻辑并不严谨,会导致很多react组件渲染时候出现问题,所以,我们进行了修复并且同步给您。希望您能认真考虑后确认是否合并这个PR。 合并后,您的代码可能会有所变化,但是我们也兼容了老的写法: ```ts const countState = useStore((store: Store) => ({ count: store.count, }), [object1, object2, ...]) ``` > 意思:当`[object1, object2]`数据有变化的时候,程序将自动stop销毁掉之前的effect引用,使用新的effect作为这次的引用。这类似于`useMemo`一样,之后第二个参数变化的时候,它的值才会变。 它的interface变为: ```ts (selector: Selector, changes?: any[]): S; ```
看起来方向不错,有没有做过一些复杂组件的性能测试?