Вы можете сравнить свои параметры в componentDidUpdate
хуке компонента, переданного вашему Route
, чтобы узнать, когда он изменился.
Пример ( CodeSandbox )
class MyComponent extends Component {
componentDidUpdate(prevProps) {
const prevPathParameter = prevProps.match.params.pathParameter;
const newPathParameter = this.props.match.params.pathParameter;
if (prevPathParameter !== newPathParameter) {
console.log("pathParameter changed!");
}
}
render() {
return <h1> {this.props.match.params.pathParameter}</h1>;
}
}
function App() {
return (
<Router>
<div>
<Link to="/home">Home</Link>
<Link to="/about">About</Link>
<Route path="/:pathParameter" component={MyComponent} />
</div>
</Router>
);
}