Задать вопрос
@Stpnki

Почему в зависимости от скобок разный результат?

Изучаю React, но вопрос из области js.
Есть такой код:

export default function List() {
  let listItems = people.map((person) => {
    console.log(person);
    <li key={person.id}>
      <img src={getImageUrl(person)} alt={person.name} />
      <p>
        <b>{person.name}:</b>
        {" " + person.profession + " "}
        known for {person.accomplishment}
      </p>
    </li>;
  });

  console.log(listItems);

  return (
    <article>
      <h1>Scientists</h1>
      <ul>{listItems}</ul>
    </article>
  );
}

Получается, если стоят круглые скобки - то функция срабатывает корректно, console.log(listItems) показывает массив элементов.
Но если поставить фигурные скобки - то содержимое массива будет: [undefined, undefined, undefined, undefined, undefined]. То есть, результат работы функции не присваивается переменной.
При этом есть такой пример, где стоят фигурные скобки, но результат работы функции присваивается переменной:


В чём тут разница? Что почитать на эту тему?
  • Вопрос задан
  • 181 просмотр
Подписаться 1 Простой 14 комментариев
Решения вопроса 1
А return кто писать будет?
Без return у тебя лямбда внутри map будет возвращать undefined.

Лямбды могут быть или с одним выражением: const x = () => 42;
или с несколькими выражениями: const x = () => {return 42;}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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