TouchableHighlight不尊重状态变化

时间:2016-10-10 11:09:14

标签: reactjs react-native

我有一个<TouchableHighlight>组件包裹<Text>,而onPress我将状态boolean设置为false以使其消失。就像iOS上的魅力一样,但在Android上,<Text>消失但<TouchableHighlight>仍然呈现。

任何指针?

{(this.state.showUpdateToast && this.state.updateCount > 0) ?
          (<TouchableHighlight 
            underlayColor='rgba(116, 59, 243, 1)' 
            style={styles.toast} 
            onPress={this.refresh.bind(this)}
          >
            <Text style={styles.toastText}>
              {this.state.updateCount}{this.state.updateCount < 2 ? this.props.getLabel('updateToastSingle') : this.props.getLabel('updateToast')}
            </Text>
          </TouchableHighlight>) 
          : null
        }

1 个答案:

答案 0 :(得分:2)

不确定这是否可以解决问题,但您可以尝试这样的事情:

<TouchableHighlight
  underlayColor="rgba(116, 59, 243, 1)"
  style={[styles.toast, !(this.state.showUpdateToast && this.state.updateCount) && { opacity: 0 }]}
  onPress={this.refresh.bind(this)}
>
  <Text style={styles.toastText}>
    {this.state.updateCount}{this.state.updateCount < 2 ? this.props.getLabel('updateToastSingle') : this.props.getLabel('updateToast')}
  </Text>
</TouchableHighlight>