Помогите с функцией map в Reactjs

141
08 декабря 2018, 04:50

у меня есть состояние в нём хранится десять объектов у которых есть атрибут текст подскажите как вывести с помощью функции мап в эти тексты от 10 объектов

render(){
return (
    <ul>
      {this.state.Posts.map((Posts, i) => (<li key={Posts[i].id}  >{Posts[i].text}</li>) )}
      <br/>
    </ul>
)
};

это не работает выводит только текст первого объекта,заранее спасибо

Answer 1

Вы не правильно используете map, просто получайте аргументом текущий элемент и возвращайте модифицированный:

Запустить на Codepen

class App extends React.Component {
  constructor (props) {
    super(props)
    this.state = {
      Posts: [
        {
          id: 1,
          text: 'Hi'
        },
        {
          id: 2,
          text: 'Bye'
        }
      ]
    }
  }
  render () {
    return (
      <div class="app">
        <ul>
          {this.state.Posts.map(post => <li key={post.id}>{post.text}</li>)}
          <br/>
        </ul>
      </div>
    );
  }
}
ReactDOM.render(
    <App />,
  document.getElementById('root')
);
READ ALSO
`${}` в javascript

`${}` в javascript

Как работает и для чего используется такая конструкция в js?

127
Google is not defined.You have exceeded your request quota for this API

Google is not defined.You have exceeded your request quota for this API

При подключении карты на ней выбивается ошибка И в консоли появляется такая ошибка

144
Не работают кнопки на сайте

Не работают кнопки на сайте

На сайте есть слайдер, которые позволяет перемещаться вверх/вниз по странице, но из-за ошибок в js скрипте этого слайдера, не работают все кнопки...

236
Финский флаг в HTML

Финский флаг в HTML

Как сделать финский флаг с помощью HTML?

141