VScode выделяет строки, которые используют document
и history
как неопределенные в соответствии с моими правилами линтера.
Как сделать так, чтобы они были признаны действительными?
В настоящее время я отключаю no-undef (на уровне строки), но это, очевидно, хак.
Вы можете использовать директиву globals для указания переменных, которые определены глобально.
Однако вам не нужно обращаться к document
или history
напрямую в приложении React.
Как правило, вы должны взаимодействовать с history
только с помощью маршрутизатора, и вам следует полностью избегать прямого доступа к DOM.
Основные вещи, для которых вы хотите использовать прямой доступ к DOM, — это изменение вещей в <head>
, которые лучше обрабатываются с помощью React Helmet , или для манипулирования содержимым компонента, которое почти всегда должно выполняться через состояние и реквизиты, и где редкие исключения должен обрабатываться с помощью хука useRef вместо поиска в документе с помощью document.querySelector
или аналогичного.
использование localStorage также кстати
Вы установили
browser
среду?