繁体   English   中英

如何使用 Chakra-UI 转换/动画?

[英]How to transform/animate with Chakra-UI?

开始使用 chakra-ui,到目前为止真的很喜欢它,但我正在努力弄清楚如何做一个简单的 animation。

我有一个图像,我想增加它的大小 onClick。

我已经简要地查看了framer-motion ,但对于我需要的东西来说似乎有点矫枉过正。

无论如何我都尝试过,但在尝试使用 typescript 定义motionBox时一直出错:

import { Flex, Container, HStack, Box, BoxProps } from "@chakra-ui/react";
import { motion } from "framer-motion";

const MotionBox = motion < BoxProps > Box;

错误:

Operator '>' cannot be applied to types 'boolean' and 'ChakraComponent<"div", {}>'.ts(2365)

'BoxProps' only refers to a type, but is being used as a value here.ts(2693)

有没有一种简单的方法来用脉轮制作动画? 还是我应该试着用成帧器找出我的错误?

我想出了一个使用 state 的解决方案:虽然它在技术上不是动画的,但它可以满足我的需要。

(我也让成帧器工作,创建自定义运动组件,但使用 JS 而不是 TS)

  const [size, setSize] = useState("20vh");

  const toggleSize = () => {
    if (size === "20vh") {
      setSize("50vh");
    } else {
      setSize("20vh");
    }
  };
 <Image
                p="5px"
                alt={product.id}
                src={product.img[1]}
                w={size}
                maxH="50vh"
                m="auto"
                borderRadius="10px"
                onClick={() => toggleSize()}
              />

transition="all.25s ease" _hover={{ transform: 'scale(1.33)', filter: "brightness(120%)", }}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM