Size: a a a

React: русскоязычное сообщество

2020 June 10

ЕИ

Евгений Ишимов... in React: русскоязычное сообщество
а нужно было диспачить
источник

p

polunin.ai in React: русскоязычное сообщество
Алексей
покажи код
const ref = useRef(null);
 const foo = <Box ref={ref}></Box>;
источник

1

1N54N3 in React: русскоязычное сообщество
Алексей
зачем показывать один код, если не работает другой? Выведи StateInput, посмотри чему равна эта переменная
Не подскажешь почему onTransitionEnd не выполняется никогда?
export const useDragTouch = (target) => {
   const [touchStart, setTouchStart] = useState()
   const [snapping, setSnapping] = useState(false)
   const [lastOffsetX, setLastOffsetX] = useState(0);

   useLayoutEffect(() => {

    if (snapping) {

       const hide = lastOffsetX < 100;

       const onTransitionEnd = () => {
           console.log(1)
           setSnapping(false);
           target.current.style.transition = "none";
           setLastOffsetX(hide ? 0 : 200);
       };

       target.current.addEventListener("transitionend", onTransitionEnd);

       Object.assign(target.current.style, {
           transition: "transform 0.16s ease-out",
           marginLeft: (hide ? 0 : 200) + 'px'
       });


       return () => target.current.removeEventListener("transitionend", onTransitionEnd);
    }

   })

   useLayoutEffect(() => {

       const handleTouchStart = (e) => {
           setTouchStart(e.touches[0].clientX)
       }

       const handleTouchMove = (e) => {
           if (!snapping) {
               const pos = Math.min(
                   200,
                   lastOffsetX + e.touches[0].clientX - touchStart
               )
               target.current.style.marginLeft = pos + 'px'
           }
       }

       const handleTouchEnd = (e) => {

           setLastOffsetX(
               Math.min(
                   200,
                   lastOffsetX + e.changedTouches[0].clientX - touchStart
               )
           )

           setSnapping(true);
       }
   
       document.addEventListener('touchstart', handleTouchStart)
       document.addEventListener('touchmove', handleTouchMove)
       document.addEventListener('touchend', handleTouchEnd)

       return () => {
           document.removeEventListener('touchstart', handleTouchStart)
           document.removeEventListener('touchmove', handleTouchMove)
           document.removeEventListener('touchend', handleTouchEnd)
         };
   })

}
источник
2020 June 11

1

1N54N3 in React: русскоязычное сообщество
Ребят не подскажите почему здесь евент transitionend firing:
https://codesandbox.io/s/9opsu?file=/src/App.js
а здесь нет:
https://codesandbox.io/s/trusting-hypatia-rlxjo?file=/src/hooks/useDragTouch.js
источник

A

Andrey in React: русскоязычное сообщество
Привет в очердной раз , как сделать редирект на оплату , стороння страница , после запроса с бэка приходит линк?
источник

ВА

Верди Атибайеба... in React: русскоязычное сообщество
Обычно бек через api получает линк и может его отдать тебе на фронт.
источник

ЕИ

Евгений Ишимов... in React: русскоязычное сообщество
Привет, как вы думаете как лучше всего удалить элемент с массива?
источник

ЕИ

Евгений Ишимов... in React: русскоязычное сообщество
splice?
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
+
источник

ЕИ

Евгений Ишимов... in React: русскоязычное сообщество
а как именно определить какой элемент при клике удалиться  ?
источник

А

Алексей in React: русскоязычное сообщество
Евгений Ишимов
а как именно определить какой элемент при клике удалиться  ?
по id???? в обработчик передавать id, либо через аттрибут получать
источник

p

pa5ca1 in React: русскоязычное сообщество
кликаешь- получаешь id
источник

p

pa5ca1 in React: русскоязычное сообщество
splice( id , ...)
источник

ЕИ

Евгений Ишимов... in React: русскоязычное сообщество
источник

А

Алексей in React: русскоязычное сообщество
pa5ca1
splice( id , ...)
splice по индексу работает
источник

А

Алексей in React: русскоязычное сообщество
можно просто filter(el => el.id != id)
источник

ЕИ

Евгений Ишимов... in React: русскоязычное сообщество
у меня case в рудюсере
источник

А

Алексей in React: русскоязычное сообщество
ты знаешь как работает splice?
источник

ЕИ

Евгений Ишимов... in React: русскоязычное сообщество
Алексей
ты знаешь как работает splice?
пока нет, скоро узнаю)
источник

ЕИ

Евгений Ишимов... in React: русскоязычное сообщество
знаю, что удаляет и добав в массив и тд
источник