reactjs - 如何使用 react-router 更改 url
问题描述
我有一些组件
import { RouteComponentProps, withRouter } from 'react-router';
function MySearchComponent({ match, location, history }: RouteComponentProps) {
const [query, setQuery] = useState<string>('');
useEffect(() => {
console.log('all fine!')
history.replace(`/my_search_page?query=${query}`);
}, [query]);
// some code for change query
}
export const MySearch = withRouter(MySearchComponent);
怎么了?当查询更改时,我尝试使用history.push
console.log alter right,但没有发生任何事情
UPD:对不起。这是我的错误:我的应用程序不支持搜索参数 感谢您的帮助
解决方案
在我的应用程序中,我正在使用 useHistory 钩子
import React, { useEffect } from "react";
import { useHistory } from "react-router-dom";
const Operations = () => {
const history = useHistory();
useEffect(() => {
const res = prepareURLParams(filters);
history.push(getRouterString("/", res));
}, [filters]);
}
export default Operations;
推荐阅读
- xml - 在 UFT(VB 脚本)中尝试时未加载 XML 文件
- ionic-framework - IOS上的MediaDevices.getUserMedia(),离子的android本机应用程序?
- android - firestore 在无限循环中不断更新
- database - 从 t2 的图像(BLOB)更新 t1 的图像(BLOB 列)
- android - 如何检测EditBox是否为空
- wordpress - nginx 入口 FCGI + wordpress:fpm-alpine。302重定向无限循环
- python - 如何在 Python 中对嵌套对象进行类型提示?
- reactjs - 了解 axios 在 react native 中的工作原理
- google-sheets - 如何为一个范围(如循环)运行公式并对结果求和?
- javascript - Jquery 无法向 Mozilla Firefox 中的元素添加类