React native react本机函数始终返回true
在我的应用程序中,我希望有条件地禁用图标。这是我的密码React native react本机函数始终返回true,react-native,React Native,在我的应用程序中,我希望有条件地禁用图标。这是我的密码 <View style={styles.controlsContainer}> <WorkoutProgressControls videoPaused={this.state.videoPaused} onPrevious={() => alert("PREVIOUS MOVEM
<View style={styles.controlsContainer}>
<WorkoutProgressControls
videoPaused={this.state.videoPaused}
onPrevious={() => alert("PREVIOUS MOVEMENT")}
onPause={() => this._onPauseVideo()}
onNext={() => this.getNextMovement()}
disableNext={() => 1 === 1 ? false : true}
/>
</View>
警报(“上一次移动”)}
onPause={()=>这一点。_onPauseVideo()}
onNext={()=>this.getNextMovement()}
disableNext={()=>1==1?false:true}
/>
当我将DisableText设置为true或false时,它可以正常工作。但当我试图有条件地更改它或使用函数时,它总是被禁用
这是我设置disableNext道具的组件
<DisableableIcon
iconStyles={styles.icon}
resizeMode="contain"
source={Next}
height={35}
width={35}
disabled={props.disableNext}
onIconPressed={props.onNext}
/>
这里的问题是什么?当我将DisableText设置为true和false时,为什么这会起作用,但当我尝试有条件地设置它时,总是返回true?您试图将函数作为道具传递,因此,要使它起作用,要么不使用函数,要么将其作为组件中的函数调用
...
disableNext={() => 1 === 1 ? false : true}
...
...
disabled={props.disableNext()}
...
或
...
disableNext={1 === 1 ? false : true}
...
...
disabled={props.disableNext}
...
不需要进行很多操作,但基于上面的代码,
disableNext
需要一个函数。我想,props.disableNext
不是一个函数,可能是函数过早求值的结果。尝试console.log(props.disableNext)
以查看是否得到类似[函数]
的值或实际的布尔值。