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



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

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

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

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

然后我意识到我是一个玩火的菜鸟,我会问那些了解StackOverflow的后坐力的人......

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

const postsFamily = atomFamily({
key: 'postsFamilyKey',
default: [0, 0],
});
function PostListItem({postID}) {
const post = useRecoilValue(postsFamily(postID));
return (
<div>
Post ID: {postID}
Post: {post}
</div>
);
}

你可以只使用一个数组:

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

通过这种方式,您可以在一个原子中管理ID列表,这些id可以引用保存帖子内容数据的不同atomFamily

相关内容

  • 没有找到相关文章

最新更新