gpt4 book ai didi

reactjs - 下一个 js Router.push 重新加载页面

转载 作者:行者123 更新时间:2023-12-03 18:05:27 30 4
gpt4 key购买 nike

当我这样做时 Router.push我的页面重新加载,我希望使用 pushState。

在组件中使用以下代码:

import Router from "next/router";
//other code
const search = useCallback(
e => {
e.preventDefault();
Router.push(
`/products-search/${encodeURIComponent(
searchText
)}`,
`/products-search?q=${encodeURIComponent(
searchText
)}`
);
},
[searchText]
);
//other code
<form onSubmit={search}>
<input
type="text"
onChange={change}
value={searchText}
pattern=".{3,}"
title="3 characters minimum"
required
/>
<button type="submit">OK</button>
</form>

我的页面/products-search.js
ProductsSearch.getInitialProps = ({ query, store }) => {
//added try catch as next js may reload if there is an error
// running this on the client side
try {
const queryWithPage = withPage(query);
return {
query: queryWithPage
};
} catch (e) {
debugger;
}
};

最佳答案

万一一些迷失的灵魂带着我的问题来到这里,它有点隐形。

router.push(
'/organizations/[oid]/clients/[uid]',
`/organizations/${oid}/clients/${id}`
);

是我写的,它在没有刷新的情况下导航。
router.push(
'/organizations/[oid]/clients/[cid]',// cid mistaken name but still worked. Should be uid
`/organizations/${oid}/clients/${id}`
);

错误的 id 名称导致刷新,但它仍然导航到正确的页面。
因此,请确保 id 名称正确。

关于reactjs - 下一个 js Router.push 重新加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59734990/

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