Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.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
Reactjs useRouter查询返回getServerSideProps内部未定义的_Reactjs_Next.js - Fatal编程技术网

Reactjs useRouter查询返回getServerSideProps内部未定义的

Reactjs useRouter查询返回getServerSideProps内部未定义的,reactjs,next.js,Reactjs,Next.js,我正在使用useRouter从查询中的用户那里获取一些数据。我可以看到HTML格式的查询数据。但是当我在getServerSideProps中传递search时,它返回undefined 函数SearchData(){ const router=useRouter() const{search}=router.query 返回( {search} ) } 导出异步函数getServerSideProps({search}){ console.log(搜索) }您不应该通过getServerSi

我正在使用useRouter从查询中的用户那里获取一些数据。我可以看到HTML格式的查询数据。但是当我在
getServerSideProps
中传递
search
时,它返回undefined

函数SearchData(){
const router=useRouter()
const{search}=router.query
返回(
{search}
)
}
导出异步函数getServerSideProps({search}){
console.log(搜索)

}
您不应该通过getServerSideProps中的搜索

当你访问http://localhost/page?search=abc,您可以从query.search检索abc

export async function getServerSideProps({query}) {

  console.log('req.query', query)

  //do something with the parameter. in this instance - query.search

  return {
    props: {}, // will be passed to the page component as props
  }
}
如果您不使用serverSideProps,并且希望获取搜索查询字符串,则需要使用useEffect,并等待路由器准备就绪

范例

  const [ query, setQuery ] = useState()
  const router = useRouter()
  useEffect(() => {

        if (router.isReady) {

            setQuery(router.query)
            //query.search will then contain the search param
        }

    }, [router])

您不应该通过getServerSideProps中的搜索

当你访问http://localhost/page?search=abc,您可以从query.search检索abc

export async function getServerSideProps({query}) {

  console.log('req.query', query)

  //do something with the parameter. in this instance - query.search

  return {
    props: {}, // will be passed to the page component as props
  }
}
如果您不使用serverSideProps,并且希望获取搜索查询字符串,则需要使用useEffect,并等待路由器准备就绪

范例

  const [ query, setQuery ] = useState()
  const router = useRouter()
  useEffect(() => {

        if (router.isReady) {

            setQuery(router.query)
            //query.search will then contain the search param
        }

    }, [router])
函数接受
上下文
作为参数,
上下文
有一个
查询
对象,该对象允许您访问查询字符串

<> >而不是破坏<代码>搜索< /代码>考虑破坏<代码>查询< /代码>,并使用它类似于

导出异步函数getServerSideProps({query}){
console.log(query.search)
}
该函数将
上下文
作为参数,
上下文
有一个
查询
对象,您可以通过该对象访问查询字符串

<> >而不是破坏<代码>搜索< /代码>考虑破坏<代码>查询< /代码>,并使用它类似于

导出异步函数getServerSideProps({query}){
console.log(query.search)
}