【发布时间】:2021-10-08 16:12:13
【问题描述】:
我正在寻找一种解决方案来跨 React-Query 突变共享数据,而无需创建我自己的内部状态或上下文。
我创建了一个处理 API 调用的自定义挂钩。
myData.ts
const useDataMutation = () => useMutation('MY_DATA_MUTATION', postData);
然后,我在不同的组件中使用我的自定义钩子。
Component1 负责变异。变异成功后,响应数据将在data 中提供。
Component1.tsx
const { mutate, data } = useDataMutation();
useEffect(() => mutate('some_data'), []);
在另一个嵌套组件中,我想访问从响应返回的数据。但我不想将数据向下传递到 3-4 层组件。我想避免使用 Context 来访问这些数据。
我想要的是这样的:
Component2.tsx
const { data } = useDataMutation();
console.log({ data }); // log data once available.
但在本例中,来自 Component2.ts 的数据始终未定义。
有没有简单的方法来实现这样的目标?
谢谢。
【问题讨论】:
标签: reactjs react-query