Pull to refresh
0
0
Send message
UFO landed and left these words here

// работает eще производительнее
// потому что при каждом рендере
// не использует хук, не создаёт замыкание
const copy2 = useRef();
copy2.current = { prop1, prop2, prop3 };

Думаю их снимут после согласия выплаты репараций

Не приписывайте мне то, что я не говорил. О моих знаниях вы тоже понятия не имеете. Расказывать вам, что оформлять что-то у нотариусов тоже занимает время, и приводить другие аргументы нелепости вашего высказывания принципиально не буду...

Не буду отвечать на эти очевидные вопросы. В правительствах государств мировых лидеров они не возникают. Видимо для вас Украина должна оставаться серой посредственностью и плестись в конце говоря "какие конкуренты", "кого опередить"

("любой ценой" это ваша фраза. Некрасиво формулировать предложения, приписывая то, что не говорили)

Взломать или обойти безопасность можно любого онлаин сервиса. Задача сервиса сделать это нерентабельным и рисковым занятием. Лучший способ для Дія и государства решить все проблемы это по-раньше выйти в продакшин. Именно так многие успешные продукты обходят конкурентов, которые тратят уйму денег и времени делая "идеальный" продукт, который к моменту релиза уже потерял рынок.

Да я бы рад, но слуге надо сделать пластику лица, что-бы максимально был похож на меня, научить подписываться так же, как и я, выдать оригиналы документов.

Но такой слуга еще более небезопасен чем Дія.

ЗА борьбу с корупцией, бюрократией.

Интернет сделал возможным очень много разных опасных "можно", и ваш список не полон. Но человечество с этим как-то живет. Правда некоторые страны начали банить Интернет. Надеюсь, что из-за таких, как вы этого не случится у нас в том же масштабе.

Не буду озвучивать свой часовой рейт, дабы не травмировать вас суммами, которые я теряю, стоя в очередях в рабочее время за бумажками. Так что я тоже категорически, но ЗА.

Онлайн-сервисы результат эволюции Интернета. Они упростили мошенничество и наплодили уязвимостей во многих, если не во всех сферах. Давайте зрить в корень и закроем Интернет, запретим мобильную связь, собьём спутники Маска. За одно защитим детей от призывов к самоубийству и усложним распространение детской порнографии. Одни плюсы...

"Дія" как и любой другой онлаин сервис не совершенен. Совершенность это бесконечное количество времени разработчиков, которое стоит бесконечное количество денег. По этому за совершенный код моей команды никто платить не хочет. Мы пишем заведомо несовершенный код, который принесет бизнесу успех в критериях скорости, стоимости и качества. "Дія" меня полностью устраивает. И подозреваю что есть 600+ человек из вашей IT-гильдии, которые машут кулачком и пальчиком, как на видео, притендуя на роль Министра Цифровой Трансформации.

Есть Monobank. Отделений у него нет. Прошел верификацию онлайн. Теперь и через него есть BankID. Могу зайти в "Дія".Внимание вопрос: зачем мне заходить через BankID в "Дія" если мне сразу выдали кредитную карту с 30000 грн. лимитом? Я смог этот лимит обналичивать (комисия 4%) и делать с него покупки (без комисии).Ответ: Monobank может потерять штуку баксов если выдаст BankID левому человеку.

Я не против возмещать кредиты и другие оплошности "Дія" как налогоплательщик 40-милионной страны в обмен на удобство. Так как и не против интернета, сотовой связи с симками, интернета через спутники, криптовалют, ИИ, ракет Земля-Луна-Марс и других инноваций, которые добавляют в нашу жизнь массу удобства и немного, решаемых по мене возникновения, проблем с безопасностью.

Я бы не учил новичков мешать разные подходы. У них и так часто каша в голове. Статья должна либо учить React и React-way, либо учить plain JavaScript. Это моё мнение.

Они сейчас посмотрят на этот код, скопипастят, поменяют setTimeout на setInterval, и получат ай-яй-яй. И потом окажется, что useRef для управления ресурсами не очень то и подходит.

React, т.к. это лишь библиотека для отображения


А вы не путаете React и JSX? useState, useEffect, useMemo, useRef, useCallback, useReducer не имеют прямого отношения к отображению.

Я пишу сейчас 3D редактор на React, где для отображения используется Babylon.js. React используется как декларативная state machine и для управления ресурсами. Куча React кода, а из отображения там только
<canvas ref={setCanvasRef} />
То что вы описали и есть React программирование с использованием хуков. Оно подразумевает:

— больше React, чем JavaScript
— накладные расходы в пользу большей декларативности

> при вызове handleClick будет изменяться state компонента, а это значит будет происходить полный рендер компонента, только для того чтобы обнулить timeout звучит дорого

Если для вашего проекта это дорого, то вы либо не должны использовать React в принципе, либо занимаетесь преждевременной оптимизацией.
Обычно за код, приведенный в статье, джунов отправляют учить функции очистки.

А где же тогда хранить timeoutId?

В большинстве случаев он хранится в замыкании функции очистки.

const Test = () => {
  const [isTimeoutActive, setIsTimeoutActive] = useState(true);
  
  const handleClick = () => setIsTimeoutActive(false);
  
  useEffect(() => {
    if (!isTimeoutActive) return;

    const timeoutId = setTimeout(() => {
      // do some action
    }, 3000);

    return () => {
      clearTimeout(timeoutId);
    };
  }, [isTimeoutActive]);
  
  return (...);
}


Приимущества:
  • Декларативность, ради которой хуки и создавались
  • Код менее размазан. Создание и удаление ресурса находятся рядом.
  • Меньше возможностей у компонента привратится спагетти-код (например начав присваивать в timeout.current какие-то другие таймауты)
  • Таймаут автоматически отменится, когда компонент перестанет существовать
А можете ткнуть пальцем где почитать? Как раз P2P assisted streaming сделали на RTCDataChannel (привет Edge), а Firefox c Safari не коннектится…
Я могу ошибаться (не вникав в детали), но в данном случае — это больше похоже не на уязвимость ОС, а на способ обхода механизмов антивируса.
И действительно — рефлексия это о runtime, а не compile time

Information

Rating
Does not participate
Location
Житомир, Житомирская обл., Украина
Date of birth
Registered
Activity