【问题标题】:Keystone 6, redirect after saveKeystone 6,保存后重定向
【发布时间】:2022-10-13 14:41:11
【问题描述】:

我正在使用keystone6,我尝试了几天来找到一种在保存或更新操作后重定向的方法。使用带有 useNavigate() 的钩子它不起作用或者我没有正确使用它。

hooks: {
afterOperation: ({ operation, item }) => {
  if (operation === 'create') {
    console.log('Hook')
    const navigate = useNavigate();
    navigate('/docview')
  }
}

},

有没有办法做到这一点?

【问题讨论】:

    标签: redirect keystonejs keystonejs6


    【解决方案1】:

    进行 GraphQL 查询后可以重定向用户吗?当然。但是你绝对不能在 GraphQL 解析器中使用 React Router 功能。

    React 是一个前端框架。虽然您可以在服务器上使用它,但它基本上是用于构建网页的 HTML(和 CSS 等)。当您调用useNavigate() 时,该函数会巧妙地重新呈现网页并更新地址栏中的 URL。它仅适用于非常特定的上下文。

    GraphQL 查询、Keystone 的 CRUD 操作以及 Keystone 为您提供的用于增强它们的钩子发生在非常不同的上下文中。它们在您的前端应用程序(或 Keystone Admin UI,例如)进行 API 调用以加载或保存数据时运行。此时您无法“重定向” - GraphQL 是一个数据 API,它不是浏览器导航到的页面。

    在您的问题中,尚不清楚您是在尝试更改自己的应用程序的行为还是管理 UI。如果您正在构建自己的前端,您应该能够通过添加在 GraphQL 查询返回时运行的代码来实现您的目标。如果您尝试在管理 UI 中重定向用户,您需要做类似的事情,但可能在 custom page 内。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-07
      • 2014-08-24
      • 2018-06-03
      • 2021-11-29
      • 1970-01-01
      • 2018-11-25
      • 1970-01-01
      • 2021-07-08
      相关资源
      最近更新 更多