有没有一种行之有效的方法来管理 Recoil 中的原子集合?

问题描述

我正在测试 Recoil,我需要管理要在主页中显示的帖子列表。

我的第一个想法是用所有帖子制作一个大 Atom,但这似乎有点暴力,因为我们可以直接在主页上编辑帖子。

我的第二个想法是动态生成带有前缀的原子:

const onePost = (postId: string) => atom({
  key: 'post_' + postId,default: null,effects_UNSTABLE: [localStorageEffect('@post_' + postId)],});

然后我意识到我是个玩火的菜鸟,我会在 StackOverflow 上询问了解 Recoil 的人......

解决方法

你可以只使用一个数组:

const postIds = atom({
  key: 'postIds',default: [],effects_UNSTABLE: [localStorageEffect('postIds')],});

通过这种方式,您可以管理一个 atom 中的 id 列表,这些 id 可以引用不同的 atomFamily,这些 ['string','number','number'] 包含帖子的内容数据。

,

您可以使用 atomFamily 来管理您的帖子。如果您想添加和删除帖子,您可以使用另一个原子来管理帖子 ID。

select alert_count 
from ALERT_LOG 
where alert_name = 'BUCKET' 
and create_date>= trunc(sysdate)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...