Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据JSON数据验证页面的条件路由_Json_Reactjs_React Router_Gatsby - Fatal编程技术网

根据JSON数据验证页面的条件路由

根据JSON数据验证页面的条件路由,json,reactjs,react-router,gatsby,Json,Reactjs,React Router,Gatsby,我是新来的反应,所以对我放松点!我基本上是在寻找根据输入的一系列代码“路由”到盖茨比中特定页面的最简单方法。我可以用jQuery简单地实现这一点,通过一个充满代码的.json文件进行验证,但是我宁愿挑战自己,在React中实现这一点 我希望实现的目标是: 用户到达带有文本输入和按钮的空白页 用户输入代码 应用程序从.json文件中的代码列表中检查代码 应用程序路由到并显示与输入的代码对应的页面 有人知道关于如何实现这样的目标的任何像样的或类似的教程吗?我是否需要使用React路由器,或者盖茨比是

我是新来的反应,所以对我放松点!我基本上是在寻找根据输入的一系列代码“路由”到盖茨比中特定页面的最简单方法。我可以用jQuery简单地实现这一点,通过一个充满代码的.json文件进行验证,但是我宁愿挑战自己,在React中实现这一点

我希望实现的目标是:

  • 用户到达带有文本输入和按钮的空白页
  • 用户输入代码
  • 应用程序从.json文件中的代码列表中检查代码
  • 应用程序路由到并显示与输入的代码对应的页面
  • 有人知道关于如何实现这样的目标的任何像样的或类似的教程吗?我是否需要使用React路由器,或者盖茨比是否可以开箱即用?抱歉听起来像个傻瓜-任何关于这方面的指导都将不胜感激

    更新:

    我有一个非常简单的应用程序,运行良好:

    下面是正在映射的.json数据的示例:

    [
    {
    “代码”:“401BE001”,
    “激活”:“故事1”
    },
    {
    “代码”:“401BE002”,
    “激活”:“故事2”
    }
    
    ]
    Gatbsy包含了
    @reach/router
    ,因此您无需任何额外的库即可完成

  • 页面
    部分下创建一个文件,您的用户将在第一次加载时登陆
  • 从“盖茨比”导入{navigate}
  • 设置表单以收集用户输入
  • 导入带有代码和路径的JSON文件
  • 比较JSON文件和用户输入,点击按钮调用
    ()=>导航(路径)
  • 这里唯一需要注意的是,由于盖茨比是一个静态站点生成器,所有路径都应该预先存在(每页一个文件,位于
    页面
    目录下,与传递给
    导航
    路径
    值同名)

    如果路径/文件不存在,它将返回404


    在盖茨比官方文档中查找程序化路由:

    您是否尝试过对其进行编码,一个示例将非常有助于指导您走向正确的方向。无论如何,要使其动态化,您应该将json文件导入路由组件,
    map
    所有路由,并在没有路由匹配的情况下处理
    redirect
    。@jank我正在寻找一个起点。概念化路由器如何工作是我努力的方向,但这听起来很有希望。React对我来说是一种不同的思维方式。@jank我已经尝试过按照上述方式编写代码。希望这能提供更多的上下文!