React-native: Carregar imagens dinamicamente do estado

Criado em 30 out. 2015  ·  3Comentários  ·  Fonte: facebook/react-native

Oi pessoal,

Eu tenho um problema em que tento alterar a fonte da imagem de uma alteração no objeto de estado, mas não está mudando.
Eu registrei o valor e está mudando, mas a imagem não.

Aqui está o código que estou usando:

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'
            });
        }       
    }

Qualquer ajuda será apreciada.
desde já, obrigado

@josev55

Ran Commands Locked

Comentários muito úteis

Eu tenho algo parecido algum tempo atrás. Tente adicionar a propriedade key à tag de imagem como <Image key={images[this.state.playImage].uri} ... /> . Isso funcionou para mim neste caso https://github.com/facebook/react-native/issues/3471

Todos 3 comentários

Eu tenho algo parecido algum tempo atrás. Tente adicionar a propriedade key à tag de imagem como <Image key={images[this.state.playImage].uri} ... /> . Isso funcionou para mim neste caso https://github.com/facebook/react-native/issues/3471

@facebook-github-bot estouro de pilha

Ei @josev55 e obrigado por postar isso! @cosmith me diz que esse problema parece uma pergunta que seria melhor feita no StackOverflow . O StackOverflow é incrível para perguntas e respostas: possui um sistema de reputação, votação, a capacidade de marcar uma pergunta como respondida. Por causa do sistema de reputação, é provável que a comunidade veja e responda sua pergunta lá. Isso também nos ajuda a usar o rastreador de bugs do GitHub apenas para bugs. Vai fechar isso, pois esta é realmente uma pergunta que deve ser feita no SO.

Esta página foi útil?
0 / 5 - 0 avaliações