我正在测试反冲,我需要管理一个在主页上显示的帖子列表。
我的第一个想法是制作一个包含所有帖子的大Atom,但这看起来有点暴力,因为我们可以直接在主页上编辑帖子。
我的第二个想法是动态生成带有前缀的原子:
const onePost = (postId: string) => atom({
key: 'post_' + postId,
default: null,
effects_UNSTABLE: [localStorageEffect('@post_' + postId)],
});然后我意识到我是一个玩火的菜鸟,我应该在StackOverflow上向那些了解后座力的人请教。
发布于 2021-05-02 19:33:35
您可以只使用数组:
const postIds = atom({
key: 'postIds',
default: [],
effects_UNSTABLE: [localStorageEffect('postIds')],
});这样,您就可以在一个atom中管理in列表,这些in可以引用保存帖子内容数据的不同atomFamily。
发布于 2021-05-12 05:14:28
您可以使用atomFamily管理您的帖子。如果想要添加和删除帖子,可以使用另一个atom来管理帖子if。
const postsFamily = atomFamily({
key: 'postsFamilyKey',
default: [0, 0],
});
function PostListItem({postID}) {
const post = useRecoilValue(postsFamily(postID));
return (
<div>
Post ID: {postID}
Post: {post}
</div>
);
}https://stackoverflow.com/questions/67305145
复制相似问题