Я посмотрел, может ли помочь свойство макета, но его установка на моем компоненте-аккордеоне не изменила никакого поведения. https://www.framer.com/motion/layout-animations/ Я подумал, что это может быть как-то связано с этим, учитывая, что я анимирую высоту. Я также не уверен, может ли высота: auto препятствовать плавной анимации. Этот компонент используется в проекте Astro с клиентом: load prop.
Код: Выделить всё
import React, { useState } from "react";
import { motion, AnimatePresence } from "framer-motion";
import Arrow from "/FAQ_Arrow.svg"; // a chevron
export default function Accordion({ header, text }) {
const [isOpen, toggleOpen] = useState(false);
return (
toggleOpen(!isOpen)}
>
{header}
[img]{Arrow}
className={`transition-all duration-300 ${
isOpen ? "-rotate-180" : ""
}`}
/>
{/* Expanded text */}
{isOpen && (
{text}
)}
);
}
Подробнее здесь: https://stackoverflow.com/questions/766 ... is-removed
Мобильная версия