在突变时更新兄弟组件?

Update sibling component on mutation?

假设我有以下结构:

<div>
   <Form />
   <List />
</div>

当前设置:查询在 <List /> 组件中,变更在 <Form /> 组件中。因为 <Form /> 没有查询,所以 getFatQuery 不能做它的比较魔术,它只有 returns clientMutationId 这最终意味着列表数据在没有页面刷新的情况下不会得到更新。

我怎样才能完成这项工作?我需要单独的表单组件,因为我想在模态中进行突变。我是否应该在 <List /> 和 "transport" 数据中从 <Form /><List /> 进行突变?

我有很多类似的情况,我想在单独的组件中插入数据(表单组件),这些情况的策略是什么?

您正在尝试使用 React 进行状态管理,正如您所指出的,这可能会造成混淆,因为没有简单的方法来 "pass data around" 层次结构中的组件。

一个常见的解决方案是让父组件保存数据并让您的 FormList 组件对这些数据做出反应,仅通过从该父组件向下传递的回调来更改它。

另一种常见的解决方案是将 Redux 添加到您的应用程序中以处理应用程序级别的状态数据。这允许您将所有数据保存在一个名为 store 的对象中,使任何组件都可以轻松订阅更改,因此无需父组件进行数据传递。