首页 > 解决方案 > 用动态内容反应状态

问题描述

我正在研究基于 React 构建的 CMS。有几次我遇到了我在用户可以添加和删除内容的页面上工作的问题。此内容本身具有也可以更改的属性。我真的很困惑我应该在哪里保留所有这些属性的状态。

例如:我有一个类似博客的页面,用户可以在其中添加和删除简短的新闻更新。每个新闻更新都有一个titlecontent以及其他一些属性,例如category.

我看到它所有状态的方式可能由BlogEditor组件拥有(它包含所有帖子),或者BlogEditor只知道帖子的id's 和帖子本身拥有其内容的状态(并与 API 通信)。React 的最佳实践是什么?

标签: reactjscontent-management-systemstate

解决方案


这将归结为个人喜好,因此本身没有“最佳实践”。很难在上下文如此少的情况下进行调用,但我一直发现不必要地将数据从父级传递给子级很烦人,而且通常最好使用“BlogEditor 只知道帖子和帖子的 ID”他们自己拥有内容的状态(并与 API 通信)”。

但是,如果这意味着你要制作例如。来自 10 个子组件中的每一个的 10 个 API 请求,而不是来自父组件的 1 个 API 请求,那么您可能希望选择 1 个 API 请求。

所以,答案是“根据情况打电话,没有明确的答案”。


推荐阅读