Reputation: 10261
I have a <TouchableHighlight>
component wrapping a <Text>
, and onPress I am setting the state boolean to false to make it disappear. Works like a charm on iOS but on Android, the <Text>
disappears but the <TouchableHighlight>
is still rendered.
Any pointers?
{(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
}
Upvotes: 3
Views: 436
Reputation: 899
Not sure if this will solve the issue, but can you try something like this:
<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>
Upvotes: 2