useHistory
- это очень просто : это берет history
из контекста.
Так что это зависит от того, как вы делаете свой SSR. Если вы сделаете это правильно (иначе ваше приложение не будет перемещаться независимо от используемых хуков) useHistory
занимает в соответствии с маршрутизатором (useMemoryRouter
).
Другой случай, когда по какой-то причине у вас есть <MemoryRouter>
и <BrowserRouter>
одновременно (но в разных местах). Тогда useHistory
вернет ближайший в иерархии компонентов.