Size: a a a

React — русскоговорящее сообщество

2021 July 01

AF

Antonii Filonov in React — русскоговорящее сообщество
Я использую массив для хранения слайдов, но не могу понять как это все анимировать, ибо один слайд должен совсем улететь, а два просто подчинвться
источник

SS

Sergey S in React — русскоговорящее сообщество
ты мапом (если массив ) можешь перебрать внутри слайда, а дальше всё как обычно клик на стрелку - goToNextSlide что то типа такого.
источник

AF

Antonii Filonov in React — русскоговорящее сообщество
Я так и делал, но возникли проблемы при анимации
источник

SS

Sergey S in React — русскоговорящее сообщество
какая именно ?
источник

NA

NIT)MR. Anderson in React — русскоговорящее сообщество
Привет всем!
Есть функция что убирает последний эллемент массива в стейте walls
const CtrlZFunc = useCallback((event) => {
       if(event.ctrlKey && (event.which === 90 || event.keyCode === 90)) {
           const lastEl = walls.length - 1
           const tempArr = walls.slice(0, lastEl)
           setWalls([])
           return setWalls(walls => tempArr)
       }
   }, []);

Она как бы работает и эллемент действительно удаляется, вот только есть проблема с ним. Эллемент хоть и удалился, но useEffect у которого этот стэйт в зависимостях прописан — не отработал (если добавить эллемент в массив, то видно что эта функция отработала, просто useEffect почему то не стригерился на изменения ). Как это можно исправить?
источник

SS

Sergey S in React — русскоговорящее сообщество
ты не передал ему зависимость - поэтому он работает как аналог componentDidMount
источник

AF

Antonii Filonov in React — русскоговорящее сообщество
Два слайда надо просто подвинуть грубо говоря, а один в начале должен проиграть анимацию удаления, а потом размонтироваться, ещё один слайд должен монтироваться
источник

NA

NIT)MR. Anderson in React — русскоговорящее сообщество
Тут код не useEffectа а функции что меняет массив. у useEffecta есть зависимость. Вот он:
useEffect(() => {
       DrawLines()
   }, [walls])

Но даже если useCallbackу добавить зависимость — это не работает. А вызывается этот каллбэк на нажатие ctrl z
источник

SS

Sergey S in React — русскоговорящее сообщество
скрыть можно с помощью цсс, зачем тебе монтирование / !монитрование. Это перерисовка а у тебя просто слайды скролятся
источник

AF

Antonii Filonov in React — русскоговорящее сообщество
Я это и хотел спросить надо ли их всех одновременно держать в доме или нет, в таком случае вопрос решён
источник

NA

NIT)MR. Anderson in React — русскоговорящее сообщество
В том что DrawLines() рабочий, я уверен
источник

SS

Sergey S in React — русскоговорящее сообщество
просто повесь обработчик на нужный елемент без useEff
источник

В

Влад in React — русскоговорящее сообщество
коллеги, дайте плиз совет. делаю верстку(таблица+шапка+заголовок), тестирую на 1920*1080 и у меня получается скролл всей страницы. Как можно избавится, чтобы только в таблице оставался скролл
источник

NA

NIT)MR. Anderson in React — русскоговорящее сообщество
Можно попробовать дизейблить оверфлоу пока до конца не докрутил
источник

NA

NIT)MR. Anderson in React — русскоговорящее сообщество
Так у меня ctrl z и так без рефа обрабатывает, а на весь document, или я не так понля?
источник

В

Влад in React — русскоговорящее сообщество
понятно, попробую. Спасибо
источник

NA

NIT)MR. Anderson in React — русскоговорящее сообщество
useEffect(() => {        
       document.addEventListener("keydown", CtrlZFunc, false);
       return () => {                                                  
           document.removeEventListener("keydown", CtrlZFunc, false);
       };    
   }, [walls])

Вот так его обрабатывает
источник

NA

NIT)MR. Anderson in React — русскоговорящее сообщество
В том что эта часть работает — я уверен
источник

СА

Саша Акименко... in React — русскоговорящее сообщество
Здравствуйте
источник

СА

Саша Акименко... in React — русскоговорящее сообщество
Кто из Украины?
источник