在我的React Native应用程序中,我有一个TouchableOpacity
,我想在从函数返回的条件下被禁用:
<TouchableOpacity onPress={() => this.someMethod()} disabled={this.checkIfDisabled}><Text>Click</Text></TouchableOpacity>
我的函数返回一个布尔值:
checkIfDisabled = () => {
// ... really long logic
return true/false;
}
但是,当我尝试实现此功能时,出现以下错误:
如何根据函数返回的布尔值禁用按钮?
最佳答案
React Native希望您为“ disabled”道具提供一个布尔值。当前,您正在为“禁用”道具提供函数,而不是函数的布尔返回值。您可以在TouchableOpacity的父组件中使用setState来更改可以为TouchableOpacity的“ disabled”道具提供的布尔值。父组件状态的更改将导致父组件的重新渲染,从而导致TouchableOpacity。
考虑一下您想指示禁用TouchableOpacity的哪种行为/事件/状态更改。
关于javascript - 在功能条件下禁用按钮,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55446717/