Fala Felipe, tudo bem? Espero que sim :D
O que ocorre é que, a rota /posts
existe, o que passamos após isso é considerado um parâmetro, então o react router dom não irá redireciona-lo para a página 404 visto que essa rota é existente, a tratativa que fazemos é, já que quando o usuario acessar a rota /posts
o nosso componente irá fazer uma requisição de acordo com aquele parâmetro que passamos após essa rota (que no nosso exemplo é /88
) , e não irá encontrar nada, ele retornará um erro, então utilizaremos o catch
para fazer essa trativa, dentro desse catch utilizaremos o hook useHistory
pois nele há um método de push
que irá enviar o usuario para alguma rota, que nesse caso seria a rota /404
, e como essa rota não existe, será mostrado o componente de erro 404.
Espero ter ajudado, bons estudos :D