Как динамически отображать карты в React Semantic UI

Я сопоставил свое хранилище redux с реквизитами, но теперь у меня проблемы с его динамическим рендерингом. Я также пробовал синтаксис projectCards(){...}, но это был полный выстрел в темноте. В моих журналах консоли отображаются объекты, проходящие так, как я хочу. Я также пробовал использовать projects.map, но не думаю, что хочу помещать возвращаемые значения в новый массив. Я просто хочу, чтобы на странице было больше элементов <Card/>, динамически отображаемых. Где я ошибся? Любая помощь будет оценена по достоинству.

Class Projects extends...
.
.
.
 projectCards = () => {
  if ( this.props.projects.length !== 0 ) {
   this.props.projects.forEach((project) => {
     return <Card fluid color='green' header = {project.name} />
  })
 }
}

 render(){
  return(
    <Container>
      <br/>
      <Card.Group>
        <Card fluid color='green' header='Option 1' />
        <Card fluid color='blue' header='Option 2' />
        <Card fluid color='red' header='Option 3' />
        { this.projectCards() }
      </Card.Group>
    </Container>
  )
 }
}

Используйте .map() вместо .forEach(). Некоторые прошлые полезные ответы StackOverflow по этому поводу: stackoverflow.com/questions/47442462/…, stackoverflow.com/questions/42460357/…

Andy Taton 02.10.2018 04:03
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
1
3 065
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуй это:

projectCards = () => {
  if ( this.props.projects.length !== 0 ) {
    return this.props.projects.map( project => 
       <Card fluid color='green' header = {project.name} />
    )
  }
}

Это сработало! Итак, я хотел вернуть массив <Card>?

user4396386 02.10.2018 04:59

Понятно! Однако как вы думаете, можно ли сделать так, чтобы функция возвращала значение более одного раза? После возврата первого Card component готово! Остальные компоненты карты не смогут ожить. Кстати, почему ты не хочешь return an array of <Card>s

You Nguyen 02.10.2018 05:04

Неплохо подмечено. Сегодня я не впервые пробовал использовать несколько операторов return в одной и той же функции!

user4396386 02.10.2018 05:13

Я не могу его редактировать, но в вашем посте не хватает фигурных фигур. Спасибо за вашу помощь.

user4396386 02.10.2018 05:16

Другие вопросы по теме