markdown 历史监听器(反应路径4),历史路径名的动态行为

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown 历史监听器(反应路径4),历史路径名的动态行为相关的知识,希望对你有一定的参考价值。

[ref](https://github.com/ReactTraining/react-router/issues/3554)

```tsx
import React from 'react'
import { withRouter, RouteComponentProps } from 'react-router';

type PropsType = RouteComponentProps<any> & {
}

class HistoryListener extends React.Component<PropsType> {
  constructor(props: PropsType) {
    super(props);

    //Here ya go
    this.props.history.listen((location, action) => {
      console.log("on route change", location);
      console.log('action', action)
    });
  }

  render() {
    return (
      <div></div>
    )
  }
}

export default withRouter(HistoryListener);
```

log
```
on route change {pathname: "/persons", search: "", hash: "", state: undefined, key: "7am32a"}hash: ""key: "7am32a"pathname: "/persons"search: ""state: undefined__proto__: Object
HistoryListener.tsx:14 action PUSH
HistoryListener.tsx:13 on route change {pathname: "/rites", search: "", hash: "", state: undefined, key: "tui5gj"}
HistoryListener.tsx:14 action PUSH
HistoryListener.tsx:13 on route change {pathname: "/persons", search: "", hash: "", state: undefined, key: "7am32a"}
HistoryListener.tsx:14 action POP
```
Dynamic behaviors by history pathname  
https://github.com/godon019/Temple-Resource-Management/commit/29c79960fa6c2e6b516df7ab5d3259301e6d8567

以上是关于markdown 历史监听器(反应路径4),历史路径名的动态行为的主要内容,如果未能解决你的问题,请参考以下文章

在 goBack() 反应路由器 v4 之前检查历史以前的位置

如何使用 MemoryRouter 和 Jest 设置匹配路径? (不是位置或历史)

SecurityError:replaceState 无法将历史记录更新为在路径、查询或片段以外的组件中不同的 URL

与打字稿反应:“历史”类型上不存在属性“推送”

markdown 撤消提交,重写历史记录

markdown Git Process - 车辆历史