@Farazendasss

Как дать загрузиться контенту?

Всем привет .Делаю мобильное приложение на React native. Получаю огромное количество фотографий с сервера и вывожу их списком в две колонки во FlatList. Вопрос : Как дать загрузиться всем фотографиям ,и уже потом отобразить компонент на экране.
На данный момент я делаю так
class App extends Component{

    state={
        loading: true
    }
    componentDidMount(){
        setTimeout(this.statusChange, 4000)
    }
    statusChange = () => {
        this.setState({
            loading:false
        })
    }


render(){
        if(this.state.loading){
            return <ActivityIndicator size="large" color="#BA5C06" style={styles.loading} />
        }
return(
<View><Text>Content<Text></View>
)
}
}


Но мне кажется что это костыль. Как правильно решить эту задачу ?
  • Вопрос задан
  • 210 просмотров
Решения вопроса 2
RomReed
@RomReed
JavaScript, Flutter, ReactNative, Redux, Firebase
лучшее что вы можете сделать это использовать https://github.com/DylanVann/react-native-fast-image и показать прелодер для каждой загружаемой фотографии. Еще вы можете с помощью preload при старте приложения сразу преподрузить фотографии
Ответ написан
Robur
@Robur
Знаю больше чем это необходимо
Но мне кажется что это костыль. Как правильно решить эту задачу ?

поставить loading = false при начале загрузки картинок, и после загрузки поставить его в true. Как именно - зависит от того как вы их грузите.
так как загружаются они видимо где-то еще, то loading вам придется хранить в стейте приложения, а не компонента.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы