Saya memiliki situasi berikut: Saya membuat View di mana ActivityIndicator ditempatkan:

<View style={{ flexDirection: 'row', justifyContent: 'space-around', padding: 10 }}>
  <ActivityIndicator animating={this.props.isLoading} size="large" color="#0000ff" />
</View>

Dan masalahnya adalah ketika ActivityIndicator disembunyikan, View masih ditampilkan. Jadi, bagaimana saya bisa menyembunyikan tampilan ini setelah menyembunyikan ActivityIndicator. atau mungkin ada cara lain bagaimana saya bisa menghapus tempat kosong ini, di mana indikator pemuatannya?

0
Sergei Mikhailovskii 7 Agustus 2019, 13:55

1 menjawab

Jawaban Terbaik

Perbaikan cepat akan menjadi:

<View style={{ flexDirection: 'row', justifyContent: 'space-around', padding: this.props.isLoading ? 10 : 0 }}>
  <ActivityIndicator animating={this.props.isLoading} size="large" color="#0000ff" />
</View>

Tetapi cobalah untuk melakukan sesuatu seperti:

renderLoader() {
  if (this.props.isLoading) {
    return (
      <View style={{ flexDirection: 'row', justifyContent: 'space-around', padding: 10}}>
        <ActivityIndicator animating={this.props.isLoading} size="large" color="#0000ff" />
      </View>
    );
  }
  return null;
}

Atau cukup ubah implementasinya menjadi:

{this.props.isLoading ? 
  <View style={{ flexDirection: 'row', justifyContent: 'space-around', padding: 10}}>
        <ActivityIndicator animating={this.props.isLoading} size="large" color="#0000ff" />
      </View> 
: null}

1
gran33 7 Agustus 2019, 11:22