React-native: تحميل الصور ديناميكيًا من الحالة

تم إنشاؤها على ٣٠ أكتوبر ٢٠١٥  ·  3تعليقات  ·  مصدر: facebook/react-native

أهلا بالجميع،

لدي مشكلة حيث أحاول تغيير مصدر الصورة من تغيير في كائن الحالة ولكنه لا يتغير.
لقد قمت بتسجيل القيمة وهي تتغير ولكن الصورة لا تتغير.

ها هو الكود الذي أستخدمه:

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

سيكون موضع تقدير أي مساعدة.
شكرا مقدما

@ josev55

Ran Commands Locked

التعليق الأكثر فائدة

حصلت على شيء مشابه منذ بعض الوقت. حاول إضافة خاصية المفتاح إلى علامة الصورة مثل <Image key={images[this.state.playImage].uri} ... /> . لقد نجح هذا بالنسبة لي في هذه الحالة https://github.com/facebook/react-native/issues/3471

ال 3 كومينتر

حصلت على شيء مشابه منذ بعض الوقت. حاول إضافة خاصية المفتاح إلى علامة الصورة مثل <Image key={images[this.state.playImage].uri} ... /> . لقد نجح هذا بالنسبة لي في هذه الحالة https://github.com/facebook/react-native/issues/3471

@ facebook-github-bot مكدس تجاوز

مرحبًا @ josev55 وشكرًا على نشر هذا! يخبرني cosmith أن هذه المشكلة تبدو وكأنها سؤال من الأفضل طرحه على StackOverflow . StackOverflow هو أمر مذهل بالنسبة للأسئلة والأجوبة: فهو يتمتع بنظام السمعة والتصويت والقدرة على تمييز السؤال على أنه تمت الإجابة عليه. بسبب نظام السمعة ، من المحتمل أن يرى المجتمع سؤالك هناك ويجيب عليه. يساعدنا هذا أيضًا في استخدام أداة تعقب الأخطاء GitHub للأخطاء فقط. سيتم إغلاق هذا لأن هذا حقًا سؤال يجب طرحه على SO.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات