扫一扫分享
helux 是一个集atom、signal、依赖收集、派生、观察为一体,支持细粒度响应式更新的状态引擎,支持所有类 react 框架(包括 react 18)
import React from 'react';
+ import { atom, useAtom } from 'helux';
+ const [sharedState] = atom({ a: 100, b: { b1: 1 } });
function HelloHelux(props: any) {
- const [state, setState] = React.useState({ a: 100, b: { b1: 1, b2: 2 } });
+ const [state, setState] = useAtom(sharedState);
- const change = setState((prev) => ({ ...prev, b: { ...prev.b, b1: 100 } }));
+ const change = setState((draft) => { draft.b.b1 = 100 });
// 收集到当前组件依赖为 a,仅当 a 变更时才触发重渲染
return <div>{state.a}</div>;
}
手机预览