我希望在发生突变后显示成功/错误消息,以通知用户他们的突变是/不成功 .

我'm coming from a Redux background where this was easy - I'做一个 <Response /> 组件,它会在应用程序的全局位置(例如,靠近应用程序的根目录,所以它将在所有屏幕上),并且此组件将连接到Redux存储,因此任何分派的消息都会导致要出现的响应组件 .

有了Apollo,我不确定最好的方法 . 假设我有一个todo应用程序,它具有以下组件结构:

  • ResponseComponent(父级 - 应用程序的其他位置 - 我希望此接收来自AddTodoComponent突变的响应消息)

  • TodoComponent(父母)

  • AddTodoComponent(child)

  • ViewTodos(儿童)

我正在接近它,因此添加待办事项的变异将放在 AddTodoComponent 组件中,查询待办事项的查询将在 ViewTodos 组件中 . 由于变异中的 update() 调用,列表会自动更新,但是如何发送响应消息以显示在应用程序的其他位置?

我已经探索过制作一个HoC,它可以很好地显示一个响应消息,该消息用于实现突变的直接组件,但是如果调用突变的组件是多个组件级别,这将不起作用 . 我也考虑过做标准的React方法并通过组件树向上传递函数回调,但这对我来说似乎是一个代码味道 .

谢谢