我正在尝试修改svg中矩形的高度。首先,在使用Animated api之前,我的svg正确显示。然后我尝试将高度变量绑定到SVG,如此:
render() {
let AnimatedRectangle = Animated.createAnimatedComponent(Rect);
let {height} = this.state
return (
<View style={styles.wrapper}>
<Svg height="100" width="100" x="0" y="0" fill="#333">
<AnimatedRectangle
x="0"
y="0"
width="4"
height={height}
fill="#333"
/>
<Rect x="10" y="0" width="4" height="7" fill="#333" />
<Rect x="20" y="0" width="4" height="7" fill="#333" />
</Svg>
</View>
);}
这是我的state和componentDidMount方法:
state = {
height: new Animated.Value(5)
};
componentDidMount() {
Animated.timing(
// Animate value over time
this.state.height, // The value to drive
{
toValue: 30 // Animate to final value of 1
}
).start(); // Start the animation
}
即使我的动画正在运行,这也无效。实际上,如果我将高度绑定到一个简单的Animated.View,则正确修改高度。
这是我得到的错误: