Код недостаточен.
Однако, на первый взгляд,
// right way
const { history, location, match } = useReactRouter()
// in your case
const { match: { params : { id } } } = useReactRouter()
// or
const { match } = useReactRouter()
const { id } = match.params
Теперь попробуйте сначала сохранить значение.
Также попробуйте передать реквизиты функциональному компоненту из его контейнера, так как это более логично.
Из вашего комментария ниже, я могу только предположить, что вы решили это. Кроме того, рекомендуется использовать возможные неопределенные значения при его использовании.
{ id && id }
Однако, первый шаг должен был утешить, имеет ли это значение,
console.log('value xyz', useReactRouter())