Для проверки, есть ли записи в
history, можно использовать свойство
length. Если значение
length равно 1, то это означает, что в
history нет предыдущей страницы, и пользователь зашел по прямому URL.
Вот как можно проверить
history на пустоту:
import { useHistory } from 'react-router-dom';
function MyComponent() {
const history = useHistory();
function goBack() {
if (history.length > 1) {
history.goBack();
} else {
// обработка случая, когда history пуста
// например, переход на главную страницу
history.push('/');
}
}
return (
<div>
<button onClick={goBack}>Назад</button>
</div>
);
}
Этот код проверяет
length свойство
history, и если оно больше 1, то вызывает
goBack(), чтобы вернуться на предыдущую страницу. Если
length равно 1, то пользователь зашел по прямому URL, и код выполняет альтернативное действие (в данном случае, переход на главную страницу)