Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.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
Javascript 获取盖茨比中的目标路径_Javascript_Reactjs_React Router_Gatsby - Fatal编程技术网

Javascript 获取盖茨比中的目标路径

Javascript 获取盖茨比中的目标路径,javascript,reactjs,react-router,gatsby,Javascript,Reactjs,React Router,Gatsby,有没有办法在盖茨比网站上找到用户所在页面的路径,并将其存储在const中,以便在用户所在的当前路径旁边进行检查?换句话说,如果他们在/about页面上,并且正在单击链接导航到/contact页面,我需要获取这两个页面的路径,以便可以相互检查。我知道我可以获取当前url的位置.pathname,但是我如何找到他们在单击链接时导航到的路径?,因为您的代码结构不清楚。假设使用一个简单的锚定标记,您可以执行以下操作:- <a href="/new/link" onClick={

有没有办法在盖茨比网站上找到用户所在页面的路径,并将其存储在
const
中,以便在用户所在的当前路径旁边进行检查?换句话说,如果他们在
/about
页面上,并且正在单击链接导航到
/contact
页面,我需要获取这两个页面的路径,以便可以相互检查。我知道我可以获取当前url的
位置.pathname
,但是我如何找到他们在单击链接时导航到的路径?

,因为您的代码结构不清楚。假设使用一个简单的锚定标记,您可以执行以下操作:-

<a href="/new/link" onClick={getHref}>New Link</a>
检查这是否适用于您的情况


请原谅任何输入错误,我还没有验证。

盖茨比默认在顶级组件(这意味着页面)上公开
道具(因为它从React扩展而来)。您可以根据需要将其传递给子组件,也可以将其存储在
常量中或React的状态中

在不了解任何页面结构的情况下,我将提供一些虚拟内容作为示例:

import React from "react"
import { graphql } from "gatsby"

const YourPage = ({ location, data }) => {
  console.log('your page is ', location.pathname)
  return <div>Dummy content</div>
}

export default Page

export const query = graphql`
  query PageQuery {
    site {
      siteMetadata {
        siteURL
      }
    }
  }
`
从“React”导入React
从“盖茨比”导入{graphql}
constyourpage=({location,data})=>{
console.log('您的页面是',location.pathname)
返回虚拟内容
}
导出默认页面
export const query=graphql`
查询页面查询{
场地{
站点元数据{
站点URL
}
}
}
`
您的信息存储在
props.location
下,这就是您可以在组件声明中对其进行分解的原因


在上面的例子中,我使用了
pathname
property,但是您已经暴露了一堆。查看它,找出哪一个适合您的要求。

您是否使用了路线库?如果没有,在链接上使用click事件处理程序有什么害处?我没有使用任何特殊的东西,不。我只需要能够检查目标路径与当前路径的比较。
import React from "react"
import { graphql } from "gatsby"

const YourPage = ({ location, data }) => {
  console.log('your page is ', location.pathname)
  return <div>Dummy content</div>
}

export default Page

export const query = graphql`
  query PageQuery {
    site {
      siteMetadata {
        siteURL
      }
    }
  }
`