React-native: Cargar imágenes dinámicamente desde el estado

Creado en 30 oct. 2015  ·  3Comentarios  ·  Fuente: facebook/react-native

Hola a todos,

Tengo un problema en el que trato de cambiar la fuente de la imagen a partir de un cambio en el objeto de estado, pero no cambia.
He registrado el valor y está cambiando, pero la imagen no.

Aquí está el código que estoy 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'
            });
        }       
    }

Cualquier ayuda será apreciada.
Gracias por adelantado

@josev55

Ran Commands Locked

Comentario más útil

A mi me llego algo parecido hace un tiempo. Intente agregar la propiedad clave a la etiqueta de imagen como <Image key={images[this.state.playImage].uri} ... /> . Esto funcionó para mí en este caso https://github.com/facebook/react-native/issues/3471

Todos 3 comentarios

A mi me llego algo parecido hace un tiempo. Intente agregar la propiedad clave a la etiqueta de imagen como <Image key={images[this.state.playImage].uri} ... /> . Esto funcionó para mí en este caso https://github.com/facebook/react-native/issues/3471

@facebook-github-bot-desbordamiento de pila

¡Hola @josev55 y gracias por publicar esto! @cosmith me dice que este problema parece una pregunta que se haría mejor en StackOverflow . StackOverflow es increíble para preguntas y respuestas: tiene un sistema de reputación, votación, la capacidad de marcar una pregunta como respondida. Debido al sistema de reputación, es probable que la comunidad vea y responda su pregunta allí. Esto también nos ayuda a usar el rastreador de errores de GitHub solo para errores. Cerraré esto ya que esta es realmente una pregunta que debe hacerse en SO.

¿Fue útil esta página
0 / 5 - 0 calificaciones