- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试了解 React Recoil 以及更新后的原子值何时可用,或者如何使新值在应用程序中垂直和水平传播。
例如,如果我有一个名为 userState
的原子,并且我更新了它的一个属性,如 avatar_url
,如果我在设置用户。
const [user, setUser] = useRecoilState(userState);
setUser({ avatar_url: imageURL, ...appUser});
console.log(imageURL); // is the actual new URL
console.log(user.avatar_url); // should be new URL but isn't
最佳答案
与Recoil无关,与React有关,更新值可用on the next render因为 setState
(Recoil 的基础)是异步的。
setState()
does not immediately mutatethis.state
but creates apending state transition. Accessingthis.state
after calling thismethod can potentially return the existing value. There is noguarantee of synchronous operation of calls tosetState
and calls maybe batched for performance gains.
你应该使用 useEffect
来模拟这个行为:
const [user, setUser] = useRecoilState(userState);
setUser({ avatar_url: imageURL, ...appUser});
useEffect(() => {
console.log(user.avatar_url);
}, [user]);
关于reactjs - React/Recoil - setAtom 新值何时可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64520432/
我正在尝试创建一个动态表单,其中表单输入字段是根据 API 返回的数据呈现的。 由于 atom 需要有一个唯一的键,我尝试将它包装在一个函数中,但每次我更新字段值或组件重新安装(尝试更改选项卡)时,我
我正在尝试创建一个动态表单,其中表单输入字段是根据 API 返回的数据呈现的。 由于 atom 需要有一个唯一的键,我尝试将它包装在一个函数中,但每次我更新字段值或组件重新安装(尝试更改选项卡)时,我
我可以将 Recoil 原子的默认值设置为对象吗? 例如。: export const currentUserState = atom({ key: 'currentUserState', d
我正在测试 Recoil,我需要管理要在主页上显示的帖子列表。 我的第一个想法是把所有的帖子都做成一个大原子,但这似乎有点暴力,因为我们可以直接在首页上编辑帖子。 我的第二个想法是动态生成带有前缀的原
我正在我目前正在构建的 React 框架中试验 Recoil。在我的用例中,应用程序将根据用户事件生成一个操作对象,然后将其发送到服务器,从服务器获取应用程序状态。 Action 存储在反冲 atom
根据文档, https://recoiljs.org/docs/api-reference/core/RecoilRoot 接受 Prop 为 initializeState?: (MutableSn
我刚开始在一个新项目中使用 Recoil,我不确定是否有更好的方法来完成它。 我的应用程序是一个基本编辑包含对象数组的 JSON 文件的界面。它读入文件,根据特定属性将对象分组到选项卡中,然后用户可以
根据文档, https://recoiljs.org/docs/api-reference/core/RecoilRoot 接受 Prop 为 initializeState?: (MutableSn
我刚开始在一个新项目中使用 Recoil,我不确定是否有更好的方法来完成它。 我的应用程序是一个基本编辑包含对象数组的 JSON 文件的界面。它读入文件,根据特定属性将对象分组到选项卡中,然后用户可以
我正在尝试了解 React Recoil 以及更新后的原子值何时可用,或者如何使新值在应用程序中垂直和水平传播。 例如,如果我有一个名为 userState 的原子,并且我更新了它的一个属性,如 av
我正在尝试了解 React Recoil 以及更新后的原子值何时可用,或者如何使新值在应用程序中垂直和水平传播。 例如,如果我有一个名为 userState 的原子,并且我更新了它的一个属性,如 av
我正在使用 Recoil,我想从实用程序函数内访问组件外部的存储(获取/设置)。 更一般地说,人们如何编写可重用函数来使用 Recoil 操纵全局状态?使用 Redux,我们可以直接将事件分派(dis
现状 我正在使用 Recoil在 React 中管理状态应用。我正在使用 Atom Effects使用 API 备份反冲值。 当我的 Atom 检测到身份验证 token 有问题时,我希望它以某种方式
我正在尝试将 RecoilJS 中原子的默认值设置为异步 API 调用的值。我这样做是为了当某个 React 组件呈现时,它将拥有数据库中的所有当前集合,而无需调用 useEffect()。这是我的代
我是 Recoil.js 的新手,我在应用程序中为登录用户提供了以下原子和选择器: const signedInUserAtom = atom({ key: 'signedInUserAtom
我正在运行一些 react-testing-library 测试并收到警告 Did not retain recoil value on render, or committed after time
我得到的错误是,无法删除[对象数组]类型的属性“%1”错误:无法在ObserverProxy处删除[对象数组]的属性“%1”。取消订阅(http://localhost:3000/static/js/
我是一名优秀的程序员,十分优秀!