Путем дебага вот такое вывел
history.listen((location, action) => {
console.log('ACTION', action);
});
Нормальное работает
Но есть одна загвоздка
Обычное изменение урла приводит к тому что listen работает ДО эффектов
Мне это и надо
А вот когда страницу нажимаешь назад, тогда listen работает
Но ПОСЛЕ эффектов
Почему такая разница, это баг реакт роутера ?
Решил проблему так
history.listen очень плохо непредсказуемо работает
Намного лучше стабильно одинаково предсказуемо работает вот это
useEffect(() => {
ваш код
}, [location]);