инициализация данных перед рендерингом с использованием React - PullRequest
2 голосов
/ 18 апреля 2020

Я новичок в реакции на родную. В моем проекте мне нужно установить данные перед рендерингом и вернуть данные.

Можете мне помочь? спасибо.

async function ReadData() {
   var RNFS = require('react-native-fs');
try {
if (await RNFS.exists(RNFS.DocumentDirectoryPath + '/logindata.json')) {
  var path = RNFS.DocumentDirectoryPath + '/logindata.json';
  var Status = await RNFS.readFile(path, 'utf8')
  var login = JSON.parse(Status)
  if (login.is_login == true) {
    return true
  } else {
    return false
  }
 } else {
  return false
 }
} catch{
 return false
}
}
const App = () => {
useEffect( () => {
var Login=ReadData()    
SetDirection();
SplashScreen.hide();
console.log(Login)
}, []);

1 Ответ

2 голосов
/ 18 апреля 2020

Это не так, как это работает с React. React немедленно отобразит ваш пользовательский интерфейс и автоматически обновит его при загрузке или обновлении данных.

Однако вы можете скрыть экран spla sh после завершения загрузки данных. Приложение может передать обратный вызов в ReadData, а ReadData вызовет этот обратный вызов, когда данные будут готовы, затем приложение может скрыть экран spla sh.

Приложение

useEffect( () => {
  const Login=ReadData(onDataReady)
  ...

onDataReady = () => {
  SplashScreen.hide();
  ....
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...