我正在尝试用下面的代码动画SVG:
//create animated path component
const AnimatedPath = Animated.createAnimatedComponent(Path);
P1 = new Animated.ValueXY({x: 0, y: 1});
P2 = new Animated.ValueXY({x: 1, y: 1});
P3 = new Animated.ValueXY({x: 2, y: 1});
path = `M ${this.P1._value} ${this.P1._value} S ${this.P2.x._value} ${this.P2.y._value} ${this.P3.x._value} ${this.P3.y._value}`;
Animated.timing(this.P1, {
toValue: {x: 3, y: 3},
duration: 300,
useNativeDriver: 'true',
}).start();
<Svg height="50%" width="50%" viewBox="0 0 4 4 " fill="blue">
{/* <Path /> */}
{console.log('this.P1.x: ', this.P1.x)}
<AnimatedPath
d={this.path}
// d="M 0 1 S 1 1 2 1"
fill="none"
stroke="red"
/>
</Svg>
字符串
但它不工作。有什么办法让它有生命吗?
我们也应该使用react-native-reanimated 2吗?
1条答案
按热度按时间bbuxkriu1#
请查看reanimated2文档中的useAnimatedProps。请注意,文档中的示例有一些缺陷,这里是一个演示:
字符串