хуки не устанавливаются в первый раз - PullRequest
1 голос
/ 20 апреля 2020

Я новичок в своем родном реагировании, в моем проекте поиск выполняется после нажатия кнопки. Имя пользователя и состояние аутентификации не инициализируют мою переменную, но после повторного нажатия мое состояние инициализируется и показывает мне данные, которые могут помочь мне это исправить. спасибо

const DataFeatch = async () => {

await Authentication_Creator();

let SearchData = {
  "user_name": await UserName,
  "user_authentication": await User_Authentication,
};    
try {
  let response = await fetch('fechURL, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    body: JSON.stringify(SearchData),
  });
  let json = await response.json();
  if (json == 'no result') {
    something
  } else {
    SetDataSource(json);
  }
}
catch{
 ERRoR
}

}

и мой Authentication_Creator

  const Authentication_Creator = async () => {

var RNFS = require('react-native-fs');
var path = RNFS.DocumentDirectoryPath + 'path';
var data = await RNFS.readFile(path, 'utf8');
var mydata = await JSON.parse(data);
let hash = data;
hash = md5(hash);

SetUserName(() => mydata.UserName);
SetUser_Authentication(() => hash);

}

1 Ответ

1 голос
/ 20 апреля 2020

Вы должны внести некоторые изменения в свой код, вы не можете использовать await Username, это не влияет на состояние реакции.

Вы можете изменить Authentication_Creator следующим образом:

 const Authentication_Creator = async () => {

    var RNFS = require('react-native-fs');
    var path = RNFS.DocumentDirectoryPath + 'path';
    var data = await RNFS.readFile(path, 'utf8');
    var mydata = await JSON.parse(data);
    let hash = data;
    hash = md5(hash);

    return { user_name: myData.UserName, user_authentication: hash};

}

После этого в вашей функции извлечения данных:

const DataFeatch = async () => {

let SearchData = await Authentication_Creator();

// and other code

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...