node.js - 如何验证用户名在 MERN 应用程序中实时可用?
问题描述
我正在使用 TypeScript 在 React.js 中编写注册表单,注册的每个用户名都必须使用唯一的用户名进行注册。如果我有一个 LoginForm 组件从表单中获取所有数据,我如何实时验证没有使用用户名?我有一个 MongoDB 专用集群,其中存储了每个用户文档,每个用户都有一个用户名,它是一个字符串,存储在“用户名”字段中。基本上,当用户输入他们的用户名时,我想显示一个红色警报,显示“用户名被占用”,而他们输入的用户名被占用,当输入的用户名是唯一的时,“用户名是唯一的”绿色。
我不确定如何解决这个问题。我想出的唯一想法:使用 useEffect 钩子每隔几秒捕获一次输入状态并对数据库进行 axios 调用,搜索用户名并呈现警报。但是,我不确定这是否是最好的方法,因为要进行的调用数量和可能的延迟。
是否有最佳实践方法来做到这一点?如果有,请指出我正确的方向。理想情况下,如果您可以概述一系列步骤,即 1.“每次发生 x 时都对 x 进行 api 调用”,2. ... 那么这将很有帮助。
解决方案
推荐阅读
- user-interface - 如何在 Julia、WebIO 和 Blink 中使用 handle(w, “flag”)?
- c# - C# Entity Framework LINQ to Entities 在 SELECT 表达式下添加参数 WHERE 表达式
- python - 我不明白 django 的 path() 是如何工作的
- vue.js - 如何访问 vue.js 中的索引以获取循环元素?
- unity3d - Unity 2D Top-Down 鼠标面临武器旋转问题
- android - 在没有 xml 的情况下以编程方式创建 Listview:不显示任何单元格
- python - 如何在 output.csv 文件中包含“for”循环变量
- python - 超过指定数量。的列用 Pandas 重命名
- angular - Angular:在产品模式下点击刷新后 URL 发生变化
- python - 获取 python sqlite 以支持最新的 sqlite 版本 3.25