基本上,从API请求开始,我有一个包含目录的数组,该目录包含可以收藏的项目列表。 我使用带有钩子的三个主要React组件来显示它们:
Live
发出API请求,将目录存储为状态,并一次显示一个Catalog
Catalog
,用于接收道具和handleFavorite
函数,并显示Item
列表Item
,它会接收道具道具和handleFavorite
函数,并显示一个 like 或 dislike 按钮我是否可以使用钩子修改favorited
组件中单个项目的Catalog
属性?否则,由于目录以状态存储在Live
组件中,这是否意味着每次必须更新一个目录中的一项时,都必须重新创建整个目录数组吗?
在所有目录中可能有数千个项目组合在一起,因此这似乎不是处理该问题的好方法。我还考虑过useContext
,但这似乎并不是它的意思。