Если вы хотите, скажем, перенаправить кого-то, кто набрал '/progects'
на '/projects'
- хорошо, это хороший UX, но ваш блок Switch
будет загроможден десятками возможных недействительных URL.Как я понимаю, возможно, вам следует добавить <Redirect to='/main' />
внизу вашего Switch
, чтобы любой недействительный URL-адрес перенаправлялся на основной компонент (или какой бы то ни было у вас) или на 404-компонентный.
Если вы по-прежнемухотите собрать их, затем вместо перенаправления на Main или 404 Component отправьте их на определенный Error
компонент, где вы можете получить ссылку через this.props.history.location
и обработать эту ссылку далее в компоненте: отправить на сервер, установить этот URLв локальном / сессионном хранилище и т. д.
Обратите внимание, что вам понадобится способ хранить эти данные в каком-либо месте, которое не будет очищено при размонтировании.
Для отправки пользователей по этому маршрутувам нужно поместить это в нижней части вашего Switch
.
<Switch>
...{your routes}
<Route component={Error} />
</Switch>
Так что на самом деле все, что вам нужно сделать, это обработать эти URL в вашем NoMatch
компоненте, например,
const path = this.props.history.location;
axios.post('your api', path);