2017-09-25 2 views
0

ich das Aussehen eines Text Komponentewie das Aussehen einer Komponente zu steuern, reagieren nativen

In meinem Code die Text Komponente nur steuern möchten nur angezeigt wird, wenn ein bestimmter Image

gemacht wird

Diese Text Komponente sollte nach 5 Sekunden nach dem bestimmten Image angezeigt werden

Wie kann ich dies hier ist meine Beispielcode:

renderImage1() { 
 
    return (
 
     <Image 
 
     source={require('./Images/image1.png')} 
 
     style={styles.image1Style} > 
 
     <Text   // I need to control this component's appearance 
 
     style={styles.textStyle} 
 
     onPress={() => this.setStep(2)}> 
 
     Touch To Play 
 
     </Text> 
 
     </Image> 
 
    ); 
 
    }

+0

'' ist Komponente richtig? Sie können '' Komponente innerhalb der '' Komponente hinzufügen. Damit wird nur das Rendering von Bildkomponenten angezeigt. –

+0

im Moment sein Rendering beide was ich will ist, um das Bild dann nach etwa 5 Sekunden zeigen Sie den Text an den Benutzer – nadeshoki

Antwort

1

Basierend auf Ihren Kommentar:

jetzt seine beiden Rendering, was ich will, ist das Bild zu zeigen, dann nach ca. 5 Sekunden, um den Text für den Benutzer anzeigen

Ich könnte vorschlagen:
1. Versuchen Verwenden Sie this.state, um eine Anzeige-Prop zu erstellen, die entweder boolesche Werte (für if-Anweisung) oder "keine"/"initial" -Werte (für Anzeigetext-Stil-Prop) oder "sichtbare"/"versteckte" Werte (für Sichtbarkeit) verwendet Textstil prop).
2. Setzen Sie timeout auf diesen Funktionsaufruf this.setState ({showText:! ShowText}).
3. Und für If-Anweisung Lösung machen Sie Ihre Rendermethode rendern entweder Bild mit Text oder ohne basierend auf this.state.display Wahrheit oder Falschheit.

render() { 
    if (this.state.display) { 
     return <Image><Text></Text></Image> 
    } 
    return <Image></Image> 
} 
  1. Für Display oder Sichtbarkeit soltions Verwendung ternary opertor zwischen display/visibility Ihrer Textkomponente in ihrem Stil schwanken:

Anzeige:

<Text 
    style={{ display: this.state.display }) 
/> 

Sicht:

<Text 
    style={{ visibility: this.state.visibility }) 
/> 
+1

das ist eine tolle Antwort, danke ich dachte, dass es eine Stütze für diese sonst ist dies der beste Ansatz – nadeshoki

+0

@ Nudeshokiyou sind willkommen! – Eduard

Verwandte Themen