如何更新 Recoil JS Atom 对象
How to update Recoil JS Atom Object
我有一个这样定义的 Atom 对象:
export const walletInfo = atom({
key: "walletInfo",
default: {
connected: false,
someString: "",
someInt: 0,
someOtherInfo: "",
},
});
问题是,如何在不覆盖其他所有内容的情况下只更改 Atom 对象中的单个值?例如,如何设置 connected: true 并保留其余信息?
下面的代码将“擦除”对象的其余部分
import { walletInfo } from "../src/atoms";
const [wallet, setWallet] = useRecoilState(walletInfo);
setWallet({
connected: true,
});
你需要像这样组合之前的状态和更新后的状态
setWallet((prevState) => ({
...prevState,
connected: true,
}));
我有一个这样定义的 Atom 对象:
export const walletInfo = atom({
key: "walletInfo",
default: {
connected: false,
someString: "",
someInt: 0,
someOtherInfo: "",
},
});
问题是,如何在不覆盖其他所有内容的情况下只更改 Atom 对象中的单个值?例如,如何设置 connected: true 并保留其余信息?
下面的代码将“擦除”对象的其余部分
import { walletInfo } from "../src/atoms";
const [wallet, setWallet] = useRecoilState(walletInfo);
setWallet({
connected: true,
});
你需要像这样组合之前的状态和更新后的状态
setWallet((prevState) => ({
...prevState,
connected: true,
}));