微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 React 中使用 RecoilJS 管理大型数据集?

如何解决如何在 React 中使用 RecoilJS 管理大型数据集?

我有一个 React 应用程序,它目前使用存储在 Context API 中的大约 50 个变量。我想尝试使用 Recoil 作为替代方案,但我有一个问题。我是否必须将每个变量存储在自己的原子中,这是最佳实践吗?然后每次需要使用时单独导入?

有了上下文,我就可以做到:

const [appState,setAppState] = useState({
    var1: "string",var2: "string2",var3: false,var4: 23,...
})

然后使用 appState 和 setAppState 作为我的上下文提供程序中的值。定义和导入 50 个单独的原子有点令人生畏。当然,我不会同时使用所有 50 个,但在使用 Context 后似乎仍然退步了。

如果使用 Recoil,我将不得不:

export const var1 = atom({key: "var1",default: "string",})
export const var2 = atom({key: "var2",})
etc...

然后:

import { var1,var2,var3,... } from './RecoilAtoms'

有没有更好的方法来做到这一点?

解决方法

你当然可以把它保存在一个原子中:

const appState = atom({
  key: 'appState',default: {
    var1: "string",var2: "string2",var3: false,var4: 23,// ...
  }
})

我不确定您所说的“有没有更好的方法”是什么意思。我的猜测是,您指的是整体解决方案,但反冲的全部意义在于拆分您的全局整体状态并以原子方式使用它。否则使用后坐力并没有真正的好处。

所以是的,我会把它分成几个原子。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。