Привязка к позиции onDragEnd с motionValues ​​с использованием Framer Motion и React - PullRequest
0 голосов
/ 23 сентября 2019

Я использую движок фреймера для создания взаимодействия в своем проекте.Я пытаюсь сделать так, чтобы, когда пользователь закончил перетаскивать дочерний элемент, он «защелкнулся» обратно в заданную позицию.

Я видел из документов, что вы можете использовать пружину для анимациизначение движения: const y = useSpring(x, { damping: 10 }), но я думаю, что я делаю это неправильно?Вот мой код:

export default function SwipeContainer(props) {
  const x = useMotionValue(0);
  const m = useSpring(x, { damping: 10 });

  const handleDragEnd = (evt) => {
    console.log(evt);
    m.set(200);
  }

  return (
    <div className={styles.swipeContainer}>
      <motion.div
        style= {{ x, m }}
        className={styles.motionDiv}
        drag="x"
        onDragEnd={handleDragEnd}
      >
        {props.children}
      </motion.div>
    </div>
  );

}

Я ожидаю, что когда произойдет событие dragEnd, дочерний объект будет анимирован до x: 200, но этого не происходит.Я неправильно устанавливаю значение или, может быть, это то, как я применяю значения движения к motion.div?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...