[英]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.