Recoil 原子的默认值可以是一个对象吗?

Kir*_*oss 7 javascript reactjs recoiljs

我可以将 Recoil 原子的默认值设置为对象吗?

例如:

export const currentUserState = atom({
  key: 'currentUserState',
  default: { name: '', email: '', userId: null },
});
Run Code Online (Sandbox Code Playgroud)

然后设置它:

import { currentUserState } from '../atoms/atoms';

const setUserState = useSetRecoilState(currentUserState);
setUserState(name: 'John', email: 'foo@bar.com', userId: getRand());
Run Code Online (Sandbox Code Playgroud)

A.R*_*EIF 1

是的,反冲原子可以是一个物体。

我已经编写了这段代码,您可以在下面的工作演示中看到它。

 const changeValue = () => {
    setUserState({ name: "John", email: "foo@bar.com", userId: Math.random() });
  };
Run Code Online (Sandbox Code Playgroud)

工作演示

代码沙盒