Nikulio
@Nikulio
NaN !== NaN

Что делает этот React.js код?

Взялся изучать реакт, столкнулся с этим кодом:

var News = React.createClass({
  render: function() {
    var data = this.props.data;
    var newsTemplate = data.map(function(item, index) {
      return (
        <div key={index}>
          <p className="news__author">{item.author}:</p>
          <p className="news__text">{item.text}</p>
        </div>
      )
    })

    return (
      <div className="news">
        {newsTemplate}
      </div>
    );
  }
});

1) var data = this.props.data - что значит эта строка? В переменную мы получаем свойства данного компонента? Почему тогда не написать просто this.props? Зачем data в конце?
2) Объясните, пожалуйста, значение метода map. Я гуглил, основано на колбэк-функции, которая выполняется для каждого элемента - но что передается в index и item? Мы же не указываем явно вызов.
  • Вопрос задан
  • 410 просмотров
Решения вопроса 1
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
Как ответил copal , вам, действительно, нужно закрыть пробелы в знаниях самого js. А потом уже читать туториал по реакту.
Попробуйте в render компонента, сделать console.log(this.props) -> будет объект, с ключом data. Поэтому мы и пишем this.props.data.

По поводу map. (как там написано - Функция, создающая элемент в новом массиве, принимает три аргумента, вот как раз первые два и есть "текущий элемент" и "индекс"

p.s. учебник выбрали годный :) , но требуется повысить уровень основ JS, так будет лучше для обучения.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@rakro
1. this.props - объект который содержит все свойства компонента. this.props.data - свойство data
2. https://developer.mozilla.org/ru/docs/Web/JavaScri... - там есть какие аргуменыт принимает callback.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
25 нояб. 2024, в 15:52
3000 руб./за проект
25 нояб. 2024, в 15:43
1500 руб./за проект