reactjs - 用动态内容反应状态
问题描述
我正在研究基于 React 构建的 CMS。有几次我遇到了我在用户可以添加和删除内容的页面上工作的问题。此内容本身具有也可以更改的属性。我真的很困惑我应该在哪里保留所有这些属性的状态。
例如:我有一个类似博客的页面,用户可以在其中添加和删除简短的新闻更新。每个新闻更新都有一个title
,content
以及其他一些属性,例如category
.
我看到它所有状态的方式可能由BlogEditor
组件拥有(它包含所有帖子),或者BlogEditor
只知道帖子的id
's 和帖子本身拥有其内容的状态(并与 API 通信)。React 的最佳实践是什么?
解决方案
这将归结为个人喜好,因此本身没有“最佳实践”。很难在上下文如此少的情况下进行调用,但我一直发现不必要地将数据从父级传递给子级很烦人,而且通常最好使用“BlogEditor 只知道帖子和帖子的 ID”他们自己拥有内容的状态(并与 API 通信)”。
但是,如果这意味着你要制作例如。来自 10 个子组件中的每一个的 10 个 API 请求,而不是来自父组件的 1 个 API 请求,那么您可能希望选择 1 个 API 请求。
所以,答案是“根据情况打电话,没有明确的答案”。
推荐阅读
- flutter - Flutter - 如何为 Card 小部件的某些百分比着色?
- google-apps-script - 如何在应用脚本高级服务中指定要在 Google DataStudio 中使用的数组字段?
- python - Tkinter 回调中的异常当您再次按下按钮 1 时
- php - 创建新 Symfony 项目时出现 UnexpectedValueException
- html - 从锚点中选择数据过滤器
- vaadin - 如何从另一个 UI 调用一个 UI 的方法而不进行初始化且不使方法成为静态。- 瓦丁 14
- google-apps-script - 我想删除电子表格中所有在 A 列的单元格中没有任何值的行
- android - 当我使用 classLoader.loadClass(completeClassName); 时找不到我的班级;
- sql - 需要在 SQL 中对值进行分组
- javascript - 如何更改在可排序 JQuery 中拖动的元素