Funky_Rhyme,
1. Потому что в state у тебя never[]- т.е. массив без типа, в который нельзя положить ничего. const [data, setData] = useState<Data[]>([]);
2. Потому что если туда класть data, то он будет запускаться каждый раз как изменилась data, а data будет меняться каждый раз как он запущен. Т.е. получится бесконечная рекурсия.
Если так и задумано, то можно вернуть data. url я туда поставил, потому что это обычное поведение - меняется адрес запроса - делаем его, однако если url всегда один, то, конечно, стоит его от-туда убрать. useEffect с пустым массивом сработает один раз - при старте компонента.
Честно говоря на наших просторах я реальных безопасников, которые по уму а не по бумажке, и не видел, даже там где они какбэ вроде и должны быть(оборонка, банки...).
А так ничего кроме расширения теоретической базы по всем вопросам что спрашивают посоветовать не могу.
Date работает со временем на компьютере пользователя. Какое стоит - такое и будет.
А какие ещё, собственно, варианты? Из информационного поля планеты цеплять?
За PHP не скажу, но вполне возможно.
Что в javascript, что в php, в связи с популярностью, последние 20 лет ведётся непрерывная борьба за ускорение, придумываются всё более и более мозголомные оптимизации и хитрости. Интерпретаторы этих языков уже давно превратились в жутких монстров, работу которых "на глазок" с точки зрения традиционного программиста не угадать, как это было раньше.)
iBird Rose, по ситуации на самом деле. Если там что-то типа автокомплита, то ждать каждый раз старый результат - не вариант.
Но в любом случае debounce'ить стоит.
1. Потому что в
state
у тебяnever[]
- т.е. массив без типа, в который нельзя положить ничего.const [data, setData] = useState<Data[]>([]);
2. Потому что если туда класть
data
, то он будет запускаться каждый раз как измениласьdata
, аdata
будет меняться каждый раз как он запущен. Т.е. получится бесконечная рекурсия.Если так и задумано, то можно вернуть
data
.url
я туда поставил, потому что это обычное поведение - меняется адрес запроса - делаем его, однако еслиurl
всегда один, то, конечно, стоит его от-туда убрать.useEffect
с пустым массивом сработает один раз - при старте компонента.