Javascript 反冲原子的默认值可以是对象吗?

Javascript 反冲原子的默认值可以是对象吗?,javascript,reactjs,recoiljs,Javascript,Reactjs,Recoiljs,我可以将反冲原子的默认值设置为对象吗 e、 g: 然后将其设置为: import { currentUserState } from '../atoms/atoms'; const setUserState = useSetRecoilState(currentUserState); setUserState(name: 'John', email: 'foo@bar.com', userId: getRand()); 是的,反冲原子可以是物体 我已经编写了这段代码,您可以在下面的工作演示

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

e、 g:

然后将其设置为:

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

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


是的,反冲原子可以是物体

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

 const changeValue = () => {
    setUserState({ name: "John", email: "foo@bar.com", userId: Math.random() });
  };
工作演示


是的,这是允许的。反冲原子态可以是一个物体。 您已经正确初始化了原子,但是当您设置原子时,您必须传递一个对象,因为状态是object

初始化currentUserState原子

export const currentUserState = atom({
                                     key:"currentUserState",
                                     default:{name:'',email:'',userId:null}
                                     });
然后设置原子态,如下所示

import {currentUserState} from "../recoilstate/atoms"
const setUserState = useSetRecoilState(currentUserState);
setUserState({
    name: 'John', 
    email: 'foo@bar.com', 
    userId: getRand()
});
import {currentUserState} from "../recoilstate/atoms"
const setUserState = useSetRecoilState(currentUserState);
setUserState({
    name: 'John', 
    email: 'foo@bar.com', 
    userId: getRand()
});