首页 > 解决方案 > 如何使用 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:对不起。这是我的错误:我的应用程序不支持搜索参数 感谢您的帮助

标签: reactjsurlreact-routerbrowser-history

解决方案


在我的应用程序中,我正在使用 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;

推荐阅读