React-native: 状態から画像を動的にロードする

作成日 2015年10月30日  ·  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} ... />のような画像タグにkeyプロパティを追加してみてください。 この場合、これは私のために働きましたhttps://github.com/facebook/react-native/issues/3471

全てのコメント3件

少し前に似たようなものを手に入れました。 <Image key={images[this.state.playImage].uri} ... />のような画像タグにkeyプロパティを追加してみてください。 この場合、これは私のために働きましたhttps://github.com/facebook/react-native/issues/3471

@facebook-github-botスタック-オーバーフロー

ねえ@josev55そしてこれを投稿してくれてありがとう! @cosmithによると、この問題はStackOverflowで最もよく聞かれる質問のようです。 StackOverflowはQ&Aにとって素晴らしいものです。評判システム、投票、質問に回答済みのマークを付ける機能があります。 レピュテーションシステムのため、コミュニティはそこであなたの質問を見て答える可能性があります。 これは、バグのみにGitHubバグトラッカーを使用するのにも役立ちます。 これは本当にSOで尋ねられるべき質問なので、これを閉じます。

このページは役に立ちましたか?
0 / 5 - 0 評価