Выдержка из статьи ссылку на которую я тебе скинул:
Насколько я могу сказать, у этого метода есть два потенциальных недостатка:
1) Меняется URL, что влияет на историю браузера. Это значит, что при переходе пользователя “назад”, он может непреднамеренно перейти к целевому элементу.
2) Для закрытия целевого элемента пользователю надо перейти к другому элементу или просто к #. Последний вариант (который я использую в своих примерах) не является семантичным и может перенаправить пользователя к началу статьи, к чему пользователь может быть не готов.
1 это значит что ты зашел на сайт с какого-то ресурса и раза 3-4 открыл-закрыл меню гамбургера. А потом решил вернуться на данный ресурс и нажал на стрелку назад в верхней левой части окна браузера. И вместо того чтобы вернуться на страницу с которой ты заходил у тебя будет открываться и закрываться меню гамбургера.
2 Если к примеру у тебя на закрытие меню ссылка , (то есть будет #nav:not(:target)), находится где-то внизу и есть скролл, то при нажатии на такую ссылку у тебя страница резко проскролится вверх. Это будет не очень хорошо потому что ты ожидал что только закроется меню.
Может и еще чего-то есть, погугли.
raulvodov, Если есть возможность сделать на css лучше сделать на css. Однако не во всех случаях. К примеру у :target есть свои подводные камни тоже. Надо смотреть по ситуации.
raulvodov, Насколько я знаю Jquery потихонечку умирает. В современных библиотеках и фреймворках, типа React.js, Vue.js и т.д. использование Jquery - признак дурного тона))) Ранее когда js был не так развит как сейчас Jquery был палочкой-выручалочкой. Но на небольших проектах, можно использовать и его для упрощения написания кода. Удачи в обучении!!!
raulvodov, там есть демонстрация примера, а там уже есть ссылка View Source где можно посмотреть код. Если кратко, то работает след. образом. У тебя есть ссылка с таким href <a href="#nav">Иконка бургера</a>
Где-то в коде есть елемент с id="nav". Так вот при клике на эту ссылку применяются стили к элементу с id="nav
#nav:target {
твои стили к элементу с id="nav" когда ты кликнул по <a href="#nav">
}
А вот эта запись
#nav:not(:target) {
твои стили
}
означает что данные стили будут применены если ты кликнешь по любой другой ссылке у которой href не равен id элемента, и если не ошибаюсь эти же стили будут применены при первой загрузке (по умолчанию)
raulvodov, Смотри, Jquery это javascript фреймворк написанный на Js. Просто Jquery облегчает жизнь, к примеру код из 10 строк на js, можно написать на Jquery в 1-2 строки. Внутри Jquery уже будет все реализовано за тебя. Надо знать нужный метод и правильно применить его.
Антон Спирин, Не обижайся мне такие ответы не нужны. До этого я и сам додумался. Вопрос был совсем о другом. Где-то, чего-то, налету и т.п. Если не знаешь, лучше не умничать, а подсказывать решение. С таким же успехом ты мог сказать, читай лучше документацию, мысли шире, думай объективно. Уже который раз я с таким сталкиваюсь, всем прям умные - умные а толком ответить не могут. Лучше вообще просто проходите мимо и всё.
Мне надо было сделать фильтрацию по поиску. Для этого я хотел создать локальное состояние принимающее в себя копию store. Сам store я не могу менять, так как если я очищаю поиск, весь массив данных должен выводиться.
то опять приходит пустой массив.
Я законсолил и увидел, что компонент при первой загрузке или при перезагрузке браузера рендерится 2 раза. Первый раз со стора приходит пустой массив, который и попадает в useState, второй рендер дает уже заполненный массив, однако ни useEffect, ни setSearchList уже не меняю пустой массив
спасибо, по-большому счету в моем случае он нафиг не нужен))) Но раз написали для чистоты кода пусть будет. Я думал вдруг его отсутствие будет критичным.
Антон, Дело не в дефолтных стилях, а в том что при первом раскрытии списка он неправильно позиционируется. При повтором раскрытии или к примеру при скролле позиционирование выравнивается нормально.
Насколько я могу сказать, у этого метода есть два потенциальных недостатка:
1) Меняется URL, что влияет на историю браузера. Это значит, что при переходе пользователя “назад”, он может непреднамеренно перейти к целевому элементу.
2) Для закрытия целевого элемента пользователю надо перейти к другому элементу или просто к #. Последний вариант (который я использую в своих примерах) не является семантичным и может перенаправить пользователя к началу статьи, к чему пользователь может быть не готов.
1 это значит что ты зашел на сайт с какого-то ресурса и раза 3-4 открыл-закрыл меню гамбургера. А потом решил вернуться на данный ресурс и нажал на стрелку назад в верхней левой части окна браузера. И вместо того чтобы вернуться на страницу с которой ты заходил у тебя будет открываться и закрываться меню гамбургера.
2 Если к примеру у тебя на закрытие меню ссылка , (то есть будет #nav:not(:target)), находится где-то внизу и есть скролл, то при нажатии на такую ссылку у тебя страница резко проскролится вверх. Это будет не очень хорошо потому что ты ожидал что только закроется меню.
Может и еще чего-то есть, погугли.