我是 React 和 React-Spring 的新手,正在练习如何使用它。
这里有React-Spring文档中的基本代码,我想使用 styled-components 转换它。
我将代码转换为 styled-components,但不知道如何在 styled-components 中更改...springs
。
我能知道如何使用 * 样式化组件 * 来应用它吗?
文件编码:codesandbox
import '/index.css'
import { useSpring, animated } from '@react-spring/web'
export default function MyComponent() {
const springs = useSpring({
from: { x: 0 },
to: { x: 100 },
})
return (
<animated.div
style={{
width: 80,
height: 80,
background: '#ff6d6d',
borderRadius: 8,
// don't know how to conver this part
...springs,
}}
/>
)
}
我的代码:codesandbox
import { useSpring, animated } from "@react-spring/web";
import styled from "styled-components";
export default function App() {
const springs = useSpring({
from: { x: 0 },
to: { x: 100 }
});
return (
<Spring>
<animated.div className="box">hi</animated.div>
</Spring>
);
}
const Spring = styled.div`
border: 3px solid black;
.box {
width: 80px;
height: 80px;
background: #ff6d6d;
border-radius: 8px;
//this part doesn't work
...springs;
}
`;
1条答案
按热度按时间j2datikz1#
是否具有样式化组件并不影响您的代码:你仍然应该把
springs
对象直接扩展到<animated.div>
中。如果您真的想将所有样式卸载到样式化组件,则可以创建一个新的样式化组件,该组件在内部使用
animated.div
,即:然后,您可以按如下方式更新模板:但请注意,您仍然在JSX模板中扩展
springs
,而不是通过样式化组件传递它: