Я начинаю использовать хуки React в своем приложении, но кажется, что есть препятствие за препятствием, которое нужно выяснить. Я не уверен, что это из-за кривой обучения или из-за того, что зависимости не готовы использовать эту новую реализацию. В любом слючае..
До хуков мы использовали HOC для подключения к определенному API, будь то Redux, React-Router и т. д. В моем случае я хочу получить доступ к своим свойствам React-Router (история, местоположение).
Обычно это было бы так же просто, как сделать это в нижней части файла:
export default withRouter(SomeComponent);
Но теперь с хуками я не уверен, как получить доступ к этим данным.
Как я могу получить доступ к данным того же типа из реагирующего маршрутизатора с новыми хуками React?
Хм, я понимаю, но есть ли способ сделать это чистым крючком? Мы должны смешивать HOC с хуками? Я исходил из того, что мы должны попытаться сделать все с помощью хуков и потихоньку избавиться от компонентов класса и HOC.
hoc в любом случае предоставит дополнительные реквизиты. Эта проблема с реактивным маршрутизатором — это то, что вы ищете: github.com/ReactTraining/реагировать-маршрутизатор/issues/6430
Не отвечает на ваш вопрос, но если вы открыты для альтернативы, взгляните на мой маршрутизатор на основе крючков. Он поставляется с крючками из коробки: github.com/lusito/реагировать-роутер-тс
Вы взглянули на это? github.com/CharlesStover/использование-реакция-маршрутизатор
Согласно комментарию Тима Мозеса к другому ответу, у реактивного маршрутизатора теперь есть хуки для этого. Пример кода взят из Документация по хукам React:
import { useHistory } from "react-router-dom";
function HomeButton() {
let history = useHistory();
function handleClick() {
history.push("/home");
}
return (
<button type = "button" onClick = {handleClick}>
Go home
</button>
);
}
Обновленный URL ссылки: v5.reactrouter.com/web/api/хуки
HOC все равно должен работать, вас не заставляют использовать только хуки