Я хочу сделать адаптивный веб-сайт, использующий реагирование, если я буду использовать медиа-запросы для изменения макета и установить отображение «Нет» для некоторых компонентов в мобильном устройстве (например, обычные html и css), или сделать это, реагируя и не нажимая ». визуализировать этот компонент, а не отображать его с помощью CSS?
например, для меню, если пользователь нажал на кнопку меню, измените свойство отображения меню с 'none' на 'block'
<ul id="menu">
<li>one</li>
<li>one</li>
</ul>
переключение 'open' в списке классов узла DOM
и в css
.menu li {
display: none;
}
.menu.open li {
display: block;
}
или как это,
использовать состояние и, если пользователь нажал на кнопку меню, изменить состояние и заставить реагировать на рендеринг меню
[open,setOpen] = useState(false);
open?<Menu />:'';
Какой подход лучше? какой из них рекомендуется
и еще один вопрос, использование 'refs' для доступа к узлам DOM в реакции лучше, чем использование традиционного document.getElementById ()?