React native, где загружать шрифты? - PullRequest
0 голосов
/ 21 июня 2020

У меня есть экран Spla sh с анимацией, а в моем приложении есть собственные шрифты. У меня вопрос: где мне загружать шрифты? В приложении js или на экране spla sh?

Я хочу запускать экранную анимацию spla sh только тогда, когда загружены шрифты te и проверено состояние аутентификации пользователя. Кстати о производительности ... стоит ли делегировать все это действие на экран spla sh?

Ответы [ 2 ]

0 голосов
/ 21 июня 2020

Тогда все хорошо! Вот как бы я это сделал.

0 голосов
/ 21 июня 2020

Лучшее место для загрузки необходимых данных - непосредственно перед монтированием приложения.

Другими словами, нам следует отложить монтирование приложения до того, как будут собраны и установлены все «зависимости». Для этого нужны экраны spla sh - они действуют как единственный промежуточный экран между входом в приложение и первым активируемым экраном. Я бы скомбинировал их и отображал экран spla sh во время загрузки данных - когда он установлен и загружен, он ведет себя так, как было ранее установлено в определении AppContainer.

App. js

...
state: {
 isLoadingComplete: false
}

componentDidMount = async() => {
 //load all your async data & update the flag when finished
 this.setState({isLoadingComplete: true})
}

...
render(){
 if (!this.state.isLoadingComplete) {
  ...display your loading animation
 } else {
  <App/>
 }
}

Само приложение, по крайней мере, большую часть времени для меня, по сути, представляет собой «switchNavigator» - отображает только один набор экранов в зависимости от вашего потока аутентификации и logi c.

Эта средняя статья предлагает интересное понимание темы экрана Spla sh и его назначения:

https://blog.mobile-patterns.com/splash-screen-designing-a-successful-launch-experience-for-your-mobile-app-b0b70a0ef32d

Надеюсь, это поможет.

...