首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过在中登录来实现额外的自定义对话框(基于服务器响应)?

如何通过在中登录来实现额外的自定义对话框(基于服务器响应)?
EN

Stack Overflow用户
提问于 2021-06-25 08:28:56
回答 1查看 78关注 0票数 1

我希望用户能够选择角色作为登录过程的一部分。在用户给出他的usernamepassword之后,服务器返回他所拥有的角色。如何实现一个对话框,用户可以在login函数结束之前从拥有的角色列表中选择一个角色?

login函数是一个常规的JavaScript函数,而不是function函数组件,因此我不能从它调用钩子(比如useContext)。

我有两个猜测:

  1. LoginForm中将async回调函数传递给login方法(由useLogin()创建的方法)。在服务器使用loginroles响应user函数后,使用await调用这个回调函数。在这个回调函数中,我可以使‘选择一个角色’模式可见。我只是不明白,如何实现程序等待直到用户点击‘选择一个角色’模式中的submit按钮,并且只返回一个已解决的承诺。在JS中有可能吗?

  1. 创建一个“预登录”表单,该表单接受usernamepassword,将其发送到后端,后端返回角色,显示“选择角色”模式,并仅在用户提交角色时调用authProvider login函数。

我真的很好奇你对此的看法和想法。

EN

Stack Overflow用户

发布于 2021-06-25 12:32:38

除了凭据之外,login钩子返回的useLogin函数还接受第二个参数:redirectTo。您可以提供一个自定义路由,它可以显示一个用于选择角色的专用页面,也可以提供一个显示您的模式的子路由的登录页面(如果您真的想要一个模式)。

一旦用户选择了它的角色,您就可以使用useRedirect钩子重定向到管理主页。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68127864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档