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

Почему не срабатывает map?

Проблема в том что иногда в postsElements пусто, при каждом первом рендеринге.
Что интересно что весь этот компонент я переиспользую в другом месте и там такой проблеми нет в postsElements всегда есть елементи. Туда приходят другие posts.

Ошибок в консоле нет, но
Иногда выбивает ошибку (когда дебажу - debugger)
index.js:1 Warning: unstable_flushDiscreteUpdates: Cannot flush updates when React is already rendering.

console.log("BEFORE posts", posts)  // Тут всегда есть posts

  const postsElements =  posts.map((post) => {
    return <Post post={post} key={post.id} /> 
  });

  console.log("AFTER postsElements", postsElements) // Тут при первом рендеринге пустой масив, когда приходят новые пропси (posts), то после обновления тут есть елементи
  console.log("AFTER posts", posts) // Тут всегда есть posts


const MyPosts = ({posts}) => {

  const postsElements = 
    posts.map((post) => {
       return <Post post={post} key={post.id}  /> 
     });

  return (
    <div >
        {postsElements}
    </div>
  );
};
export default MyPosts;


60a6bf3e538e1731160829.png
  • Вопрос задан
  • 307 просмотров
Подписаться 1 Средний 18 комментариев
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Merion Academy
    Frontend-разработка на React
    4 месяца
    Далее
  • ProductStar
    React: отточите навыки интерфейсной разработки
    6 недель
    Далее
Пригласить эксперта
Ответы на вопрос 1
CIDBerlin
@CIDBerlin
Junior front-end developer
Потому что ты перебираешь объект методом перебора массива?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽