function fn(x: number | Array<number>, y: number | Array<number>): void {
const arrX = Array.isArray(x) ? x : [x];
const arrY = Array.isArray(y) ? y : [y];
arrX.forEach((xs)=>{
arrY.forEach((ys)=>{
})
})
}
fn(1,2)
как над ними издеваются чайники
const Child: React.FC = React.memo(() => {
const [state, setState] = useState(..)
useLayoutEffect(() => {
const func = () => {
setState(...);
};
someObservable.on('eventName', func);
return () => {
someObservable.off('eventName', func);
};
}, [setState])
return ...
})
Допустим, у тебя на первом рендере были ключи 1 и 2, а на следующем рендере уже 2 и 1 - поменялись местами. Тогда Реакт сможет сохранить один из двух отрендеренных компонентов и просто обновить его с анимацией (не могу точно сказать, какой именно из двух), но другой компонент будет уничтожен и создан заново, так как не может просто взять и поменяться местами. То есть будет реальное пересоздание ДОМ-элемента, и никакой анимации тут быть не может.