gpt4 book ai didi

android - TouchableHighlight onPress 在导航时自动触发

转载 作者:行者123 更新时间:2023-11-28 18:49:22 25 4
gpt4 key购买 nike

我的 React native 应用程序中有两个 View 。我正在使用 reactnavigtion 转到第二个 View 。下面是该代码。

 <TouchableHighlight onPress={() => navigate('Detail', { title: 'Text' })}>
<View style={styles.box} >

</View>
</TouchableHighlight>

以上代码运行良好。在第二个 View 中,我添加了链接以在用户点击它时在网络浏览器中打开。

<TouchableHighlight onPress={this._onPressButton('http://www.someurl.com')}>
<View style={styles.box} >

</View>
</TouchableHighlight>

下面是方法。

_onPressButton(url){
const uri = url;
Linking.openURL(uri).catch(err => console.error('An error occurred', err));
}

问题是当我点击转到第二个 View 时。它也会自动触发第二个 View _onPressButton 函数。这在 iOS 和 Android 中都发生了。

最佳答案

您使用的语法将在每次渲染时调用该函数,这就是它立即触发的原因。您必须将其放入匿名函数或为其创建一个方法。

<TouchableHighlight onPress={() => this._onPressButton('http://www.someurl.com')}>

或者定义一个使用该参数的方法

<TouchableHighlight onPress={this.navigateToSomeURL}>

关于android - TouchableHighlight onPress 在导航时自动触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44891017/

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