gpt4 book ai didi

javascript - 重新加载页面后立即填写字段

转载 作者:搜寻专家 更新时间:2023-11-01 04:28:04 25 4
gpt4 key购买 nike

我的 NextJS 应用程序中有搜索页面。 URL 示例 - /search?q=Naaarutoo。例如,在重新加载后,我只想将“Naaarutoo”设置为输入值(我知道如何将查询参数设置为输入值)立即

如果我们仔细观察,我们会发现该字段未满足:

enter image description here

我认为这是因为服务器端将简单的 HTML 返回给客户端,然后才开始客户端执行。如果我错了,请纠正我。

import React from 'react'
import {Formik, Form, Field} from 'formik'

const Search = ({router: {query}}) => (
<Formik enableReinitialize onSubmit={() => {

}} initialValues={{q: query.q || ''}} render={() => (
<Form>
<Field name='q' type="search" placeholder="Find something"/>
</Form>
)}/>
)

export default withPageRouter(Search)

最后更新:

我不知道为什么但它有效(我不记得我做了什么(͡°͜ʖ͡°)),好的,谢谢大家的帮助。

最佳答案

你需要 getInitialProps 才能使用查询

import React from 'react'
import { Formik, Form, Field } from 'formik'

const Search = ({ query }) => (
<Formik onSubmit={() => { }} initialValues={{ q: query.q || '' }} render={() => (
<Form>
<Field name='q' type="search" placeholder="Find something" />
</Form>
)} />
)

Search.getInitialProps = ({ query }) => {
return { query }
}

export default Search

我检查了一下,它对我来说工作正常。

关于javascript - 重新加载页面后立即填写字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58252644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com