2016-10-10 25 views
3

<TouchableHighlight>のコンポーネントが<Text>をラップしていますが、onPressはstateブール値をfalseに設定して消滅させています。 iOSの魅力のように動作しますが、Androidでは<Text>は消えますが、<TouchableHighlight>はまだレンダリングされています。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 
     } 
+0

あなたの子供は、常に表示する必要があり、彼らは他とそれほどうまく機能しません。要素、だからあなたのテキストをラップする –

+0

それはそれだとは思わない。そして問題は、がアンマウントしないということです。 です。 – amit

+0

スタイルを投稿してコードを更新すると便利です。 – Jickson

答えて

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> 
関連する問題