reactjs - 在 React 子组件中触发多个 POST 请求
问题描述
我正在开发一个React
应用程序,该应用程序允许用户设置一些要在某个后端创建的用户对象。用户设置好要创建的用户后,会显示一个摘要页面,在表格中显示即将创建的用户。
因此,当用户单击“导出”按钮时,我想为表中列出的每个用户向后端发送一个 POST 请求。每个表行应显示其相应 POST 请求的当前状态。所以我的想法是为表行创建一个Component
,让每一行分别处理它的 POST 请求和响应。
我的问题是,我如何告诉子组件发送请求?触发所有请求的按钮位于父组件中。
据我了解,React
父组件中不应调用子组件中的操作。似乎有一种方法可以通过使用React.forwardRef
andReact.useImperativeHandle
或类似的东西来做到这一点,但我这似乎有点复杂,让我想知道我是否在我的用例的正确轨道上。
我想出的唯一其他想法是使用useEffect
和这样的道具sendTriggered
:
React.useEffect(() => {
if (sendTriggered) {
sendPostRequest();
}
}, [sendTriggered]);
然后,父组件将设置sendTriggered
为true
单击按钮时。但这似乎也是在滥用东西^^
当然,我也可以处理父组件中的所有请求和响应,并且只通过 传递状态Props
,但我认为每个组件都应该对自己的请求负责。
任何人都可以提出更好的方法吗?我认为这是一个相当常见的用例。
解决方案
推荐阅读
- django - 获取 DetailView 中另一个类的过滤列表,该列表循环通过其他类
- android - 如何在没有原始试用的情况下启用 Web NFC?
- javascript - 使用 map() 将查找和替换函数限制为二维数组 JavaScript 中的单列
- sql-server - 如何以分钟为单位估计两个日期时间之间的差异
- go - 全局 var 结构更新在其他测试功能中不可用
- r - R - 删除向量中出现多次的元素
- sql - ORA-10722: 无效数字 - 由 GROUP BY 触发
- python - 根据两个数据框值对绘图进行颜色编码
- html - 一旦低于 614px 宽,我的网站的额外空白宽度是什么原因
- sql - 使用第一行和最后一行压缩多个连续行