React-native: Laden Sie Bilder dynamisch aus dem Zustand

Erstellt am 30. Okt. 2015  ·  3Kommentare  ·  Quelle: facebook/react-native

Hallo zusammen,

Ich habe ein Problem, bei dem ich versuche, die Bildquelle von einer Änderung im Zustandsobjekt zu ändern, aber es ändert sich nicht.
Ich habe den Wert protokolliert und er ändert sich, aber das Bild nicht.

Hier ist der Code, den ich verwende:

render() {
        var images = {
            playcircle: require('image!playcircle'),
            pausecircle: require('image!pausecircle')
        }
        return (
            <View style={[styles.container, {width: this.props.width - 10}]}>
                <TouchableOpacity onPress={this._playAudio.bind(this)}>
                    <Image source={images[this.state.playImage]} style={styles.img} />
                </TouchableOpacity>
                <View style={styles.textWrapper}>
                    <Text style={styles.txt}>{this.props.podTitle}</Text>
                </View>
            </View>
        );
    }
_playAudio() {
        var blockThis = this;
        debugger;
        if (!this.state.isPlaying) {
            JSAudioPlayer.play(this.props.url, true, function(error){
                if (error) {
                    alert(error);
                } else {
                    blockThis.setState({
                        isPlaying: true,
                        playImage: 'pausecircle'
                    })
                }
            });
        } else {
            JSAudioPlayer.pauseCurrent();
            blockThis.setState({
                isPlaying: false,
                playImage: 'playcircle'
            });
        }       
    }

Jede Hilfe wird geschätzt.
Vielen Dank im Voraus

@ josev55

Ran Commands Locked

Hilfreichster Kommentar

Ich habe vor einiger Zeit etwas ähnliches bekommen. Versuchen Sie, die Schlüsseleigenschaft wie <Image key={images[this.state.playImage].uri} ... /> zum Image-Tag hinzuzufügen. Dies hat in diesem Fall für mich funktioniert https://github.com/facebook/react-native/issues/3471

Alle 3 Kommentare

Ich habe vor einiger Zeit etwas ähnliches bekommen. Versuchen Sie, die Schlüsseleigenschaft wie <Image key={images[this.state.playImage].uri} ... /> zum Image-Tag hinzuzufügen. Dies hat in diesem Fall für mich funktioniert https://github.com/facebook/react-native/issues/3471

@facebook-github-bot Stapelüberlauf

Hey @josev55 und danke fürs Posten! @cosmith sagt mir, dass dieses Problem wie eine Frage aussieht, die am besten auf StackOverflow gestellt werden würde. StackOverflow ist erstaunlich für Fragen und Antworten: Es hat ein Reputationssystem, Abstimmungen und die Möglichkeit, eine Frage als beantwortet zu markieren. Aufgrund des Reputationssystems ist es wahrscheinlich, dass die Community Ihre Frage dort sieht und beantwortet. Dies hilft uns auch, den GitHub-Bug-Tracker nur für Fehler zu verwenden. Ich werde dies schließen, da dies wirklich eine Frage ist, die auf SO gestellt werden sollte.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen