我正在尝试有条件地渲染context = getContext();
,如果描述道具为onPress
,我确实想要任何undefined
功能。我的onPress会触发,无论如何,如果描述未定义,如何将其删除
onPress
答案 0 :(得分:0)
您可以使用public enum FlowDirection
{
MatchParent = 0,
LeftToRight = 1,
RightToLeft = 2,
}
道具。如果是这样,那么TouchableHighlight将被禁用
类似这样的东西
disabled
TouchableHighlight与TouchableWithoutFeedback具有相同的道具
https://facebook.github.io/react-native/docs/touchablewithoutfeedback#disabled
答案 1 :(得分:0)
您使用的条件将始终返回false
,因为未定义空字符串:
console.log(undefined == "")
这种行为非常奇怪,因为您的函数甚至没有在箭头函数中返回。
以下应通过放置不执行任何操作的函数来解决问题:
onPress={description ? this._onPressButton : x => {} }
如果满足以下条件,这也可以用于内联:
onPress={description && this._onPressButton }
答案 2 :(得分:0)
您可以按照以下步骤操作或禁用
constructor(props) {
super(props);
this._onPressButton = this._onPressButton.bind(this);
}
_onPressButton(event) {
Alert.alert(event.description);
}
render() {
const { start, end, summary, description } = this.props;
return (
<TouchableHighlight
onPress={() => {
description == "" ? { } : this._onPressButton; // You can add { } instead of null
}}
disabled={description === ""} // Or you can just disabled conditionally
>