json - 条件路由到针对 JSON 数据进行验证的页面
问题描述
我是 React 新手,所以放轻松!我基本上是在寻找最简单的方法来“路由”到 Gatsby 中的特定页面,基于输入的一系列代码。我可以简单地使用 jQuery 来完成此操作,针对一个充满代码的 .json 文件进行验证,但是我宁愿挑战自己并在 React 中执行此操作。
我想要实现的目标:
- 用户到达带有文本输入和按钮的空白页面。
- 用户输入代码。
- 应用程序从 .json 文件中的代码列表中检查代码。
- 应用程序路由并显示与输入的代码对应的页面。
有没有人知道关于如何实现这样的事情的任何体面或类似的教程?我需要使用 React Router 还是 Gatsby 可以开箱即用地处理这个问题?抱歉听起来像个菜鸟 - 对此的任何指导将不胜感激。
更新:
我有一个真正的准系统应用程序并且运行良好: https ://gist.github.com/cruelmelody/fc5a1eb6d34118b76d7c273c813a0ec2
以下是被映射的 .json 数据示例:
[
{
"code": "401BE001",
"activation": "story1"
},
{
"code": "401BE002",
"activation": "story2"
}
]
我卡住的地方是将 JSON 对象与输入值字符串匹配。我哪里错了?
if ({this.state.barcodeReceiptNo} === {beadCode.code}) {
alert("It's a match!")
} else {
alert("Unlucky.")
}
谢谢你的帮助。
标记。
解决方案
Gatbsy 已@reach/router
包含在内,因此您无需任何额外的库即可完成。
- 在部分下创建一个文件
pages
,您的用户将在第一次加载时登陆。 import { navigate } from 'gatsby'
- 设置一个表单来收集用户输入。
- 导入带有代码和路径的 JSON 文件。
- 比较您的 JSON 文件和您的用户输入,然后
() => navigate(path)
单击按钮。
这里唯一需要注意的是,由于 Gatsby 是一个静态站点生成器,所有路径都应该事先存在(每页一个文件,在与您传递给pages
的值同名的目录下)。path
navigate
如果path/file
不存在,它将返回 404。
在 Gatsby 官方文档中寻找程序化路由:https ://www.gatsbyjs.org/docs/gatsby-link/
推荐阅读
- reactjs - 反应原生 | 标题道具按钮必须是字符串
- java - 在 Tomcat 上部署的 Spring Boot 应用程序创建错误的 URL
- excel - 有没有人可以告诉我我错过了这些代码?
- css - 表单布局在移动设备上不灵活
- android - 如何使用 sparkjava 框架 webserver 和 Android 设备发送大文件?
- javascript - 为什么我在使用 Vue/Nuxt 时会遇到 fontawesome 星星的间距问题?
- c++ - 为什么使用implicit_cast
(int) 而不是 static_cast (整数)? - python - Collatz 在 Python 中的假设检验
- bash - 分组命令的意外标记附近的bash语法错误
- mysql - 如何将 MySQL Workbench 连接到在 VPC 中运行的 Amazon RDS