我在反应原生的onPress事件上工作。 我第一次写了那段代码:
<TouchableOpacity
onPress={(this.props.minimum==null||this.props.value-1>=this.props.minimum)
? this.props.onDecrement
:console.log(this.props.texte+" : minimum atteint")}
style={[buttonSpinner,buttonSpinnerLeft]}>
这样,我的按钮可以工作,但每次render()调用都会自动调用onPress。 我搜索并在此找到了解决方案:React Native onPress being called automatically。
但现在,如果我没有自动通话......当我按下我的可触摸组件时,我就不会打电话。
我尝试了一些版本:
const p=this.props;
//some other code
<TouchableOpacity
onPress={()=>(p.minimum==null||p.value-1>=p.minimum)
? p.onDecrement
:console.log(p.texte+" : minimum atteint")}
style={[buttonSpinner,buttonSpinnerLeft]}>
-
const p=this.props;
// some other code
<TouchableOpacity
onPress={(p)=>(p.minimum==null||p.value-1>=p.minimum)
? p.onDecrement
:console.log(p.texte+" : minimum atteint")}
style={[buttonSpinner,buttonSpinnerLeft]}>
-
<TouchableOpacity
onPress={()=>(this.props.minimum==null||this.props.value-1>=this.props.minimum)
? this.props.onDecrement
:console.log(this.props.texte+" : minimum atteint")}
style={[buttonSpinner,buttonSpinnerLeft]}>
没有成功......
精确,我处理一个单独的组件。该组件在主渲染中调用,如:
<NumberSpinner
onDecrement = {()=>this.onDecrement(elt.idCat,idElt)}
onIncrement = {()=>this.onIncrement(elt.idCat,idElt)}
minimum = {0}
maximum = {null}
texte = {elt.slug}
value={elt.qteTxt}
/>
答案 0 :(得分:2)
尝试在函数中移动逻辑,因此只需使用函数调用{/ 1}}
onPress
和你的职能:
<TouchableOpacity
onPress={this.onPress}
>
<Text> Touch Here </Text>
</TouchableOpacity>
答案 1 :(得分:0)
您需要从TouchableOpacity
导入react-native
,而不是从react-native-gesture-handler
导入。 react-native-gesture-handler
中的版本已100%损坏。 react-native
中的版本有效。
接受的答案不能解决此问题。