1.认识Jotai
官网:jotai.org/
Jotai 采用原子方法进行全局 React 状态管理。
atom Jotai中的全局变量
原始原子可以是任何类型:布尔值、数字、字符串、对象、数组、集合、映射等。
2.创建及使用
1)创建需要存放在全局状态管理的字段
⚠️注意:创建字段名称一般用Atom结尾,例如 export const inputValueAtom = atom ( '' ) ;
export const inputValueAtom = atom<string>('');
2)在需要用到全局变量的地方,通过useAtom/useAtomValue/useSetAtom获取
⚠️注意:
a. 若既读又写atom值时
则用组合的 useAtom 钩子,类似useState的写法(useAtom用法与useState类似,useAtom为全局状态变量,而useState非全局)例如
const [inputValue, setInputValue] = useAtom(inputValueAtom);
b. 若只读取atom值时
则使用单独的useAtomValue 钩子来优化重新渲染,例如
const inputVal = useAtomValue(inputValueAtom)
c. 若只写入atom值时
则使用单独的useSetAtom钩子来优化重新渲染
const setInputVal = useSetAtom(inputValueAtom)