gpt4 book ai didi

javascript - 更改视频react-native-video组件中的状态/属性

转载 作者:行者123 更新时间:2023-11-28 17:03:29 24 4
gpt4 key购买 nike

我是新手,正在尝试使用 react-native-video 。我试图通过单击可触摸元素来更改react-native-video库中的 Prop 。但我收到错误消息:

undefined is not an object (evaluating 'this.state.setState')

我确信这是一个简单的问题。我基本上只是想了解当我触摸定义的可触摸区域时如何启动、调用和更改 Prop 的状态。在此示例中,我想将速率从 0.1 更改为 1。

这是我的代码:

type Props = {};
export default class App extends Component<Props> {
state = {
rate: 0.1,
};

_onPressButton() {
Alert.alert('You tapped the button!')
this.state.setState({ rate: 1 });
}

render() {

return (
<View style={styles.container}>

<Video
source={require('./assets/grid.mp4')}
ref={(ref) => {
this.player = ref
}}
onBuffer={this.onBuffer}
onError={this.videoError}
style={styles.backgroundVideo}
rate={this.state.rate}
/>

<TouchableWithoutFeedback onPress={this._onPressButton}>
<View style={styles.square1}>
<Text style={styles.welcome}>My text</Text>
</View>
</TouchableWithoutFeedback>
</View>
);
}
}

最佳答案

您没有绑定(bind)您的函数。

_onPressButton() {
Alert.alert('You tapped the button!')
this.state.setState({ rate: 1 });
}

应该是这样的箭头函数

_onPressButton = () => {
Alert.alert('You tapped the button!')
this.state.setState({ rate: 1 });
}

或者您需要创建一个构造函数并在其中写入 this._onPressButton.bind(this)

关于javascript - 更改视频react-native-video组件中的状态/属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56631707/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com