у меня есть функция
const displayUserPhotoAndName = (data) => {
if (!data) return;
// add your code here
clearNotice();
};
После первого возврата if (!data); оператор, который завершает функцию, если ожидаемый параметр данных не предоставлен, создает оператор, который деструктурирует параметр данных и получает от него свойство результатов;
Создайте второй оператор в следующей строке, который деструктурирует переменную результатов, которую вы только что создали, и получите из нее первый элемент (это массив! См. https://randomuser.me/api/). Ваш элемент деструктурированного массива должен быть объявлен как профиль. Это представляет данные профиля пользователя, полученные в результате вызова API, которые вы хотите отобразить в своем приложении.
const displayUserPhotoAndName = (data) => {
if (!data) return;
// add your code here
const {results: results} = data;
const {profile: results} = results;
это то, где я сейчас нахожусь, но я все еще получаю сообщение об ошибке, в котором говорится: «Вы не деструктурировали свойство профиля из результатов, полученных из данных, переданных в функцию displayUserPhotoAndName. Ваша помощь будет очень признательна …
Вы можете сделать это двумя способами:
Ваш подход из двух шагов:
const {results} = data;
const {profile} = results;
Или в один шаг:
const {results: {profile}} = data;
Для лучшего понимания вы должны проверить документация по деструктуризации объекта.
большое спасибо, это помогло, но я думаю, что есть проблема, потому что код не работает... я все еще буду работать над этим.
Вот пример:
const data = {
results: {
name: "test1",
surname: "123"
},
profile: {
name: "test2",
surname: "321"
}
};
const { results, profile } = data;
console.info(results);
console.info("=== = ");
console.info(profile);
Вы можете сделать следующее, если вам нужен n-й элемент из массива результатов.
{ results: { n: profile } } = data;
let data = { results: [1, 2, 3, 4] }
let { results: { 0: profile1, 2: profile2 } } = data;
console.info(profile1)
console.info(profile2)
Даже вы можете сделать дальнейшую деструктуризацию
let data = { results: [{ name: 'myname1', gender: 'male' }, { name: 'myname2', gender: 'male' }, { name: 'myname3', gender: 'female' }, { name: 'myname4', gender: 'male' }] }
let { results: { 0: profile1, 2: { name, gender } } } = data;
console.info(profile1)
console.info(name)
console.info(gender)
Это не выглядит правильно. Вы ознакомились с документацией по деструктурирование?