问题描述
我正在测试 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)