我已经将我的class component
升级到functional component
钩子,但现在 ref 不起作用。
以前:
class A extends Component{
animation = null;
onPress = ()=> {
this.animation.play();
}
render(){
return (
<View>
<LottieView
source={require('./file.json')}
ref={animation => {this.animation = animation}}
/>
<Button onPress={this.onPress} title='click me' />
</View>
);
}
}
上面的代码是类Component
运行良好。
但是我升级的以下代码不起作用。
更新的代码:
const A = props => {
const animation = useRef(null);
const onPress = ()=> {
animation.play();
}
return (
<View>
<LottieView
source={require('./file.json')}
ref={animation}
/>
<Button onPress={onPress} title='click me' />
</View>
);
}
你错过了.current
.
请参阅以下工作示例:https://snack.expo.io/@zvona/lottie-and-useref-example
const onPress = () => {
animation.current.play();
}