Реагировать Компоненты с propTypes из массива объектов

Только мои 2 цента на вопрос о том, почему семантика частной видимости в Java является уровнем класса, а не уровнем объекта.

Я бы сказал, что удобство, по-видимому, является ключевым здесь. Фактически, частная видимость на уровне объекта вынудила бы подвергать методы другим классам (например, в том же пакете) в сценарии, проиллюстрированном OP.

По правде говоря, я не смог ни придумать, ни чтобы найти пример, показывающий, что видимость на уровне класса (например, предлагаемая Java) создает любые проблемы по сравнению с видимостью на уровне объекта-частного.

Тем не менее, языки программирования с более тонкой системой политик видимости могут позволить как видимость объектов на уровне объекта, так и уровне класса.

Например Eiffel предлагает выборочный экспорт: вы можете экспортировать любую функцию класса в любой класс по вашему выбору: от {NONE} (объект-частный) до {ANY} (эквивалент общедоступного, а также по умолчанию), до {PERSON} (класс -private, см. пример OP), определенным группам классов {PERSON, BANK}.

Также интересно заметить, что в Eiffel вам не нужно делать атрибут private и писать getter для запретить другим классам присваивать ему. Публичные атрибуты в Eiffel по умолчанию доступны в режиме только для чтения, поэтому вам не нужен геттер, чтобы вернуть свое значение.

Конечно, вам все равно нужен установщик, чтобы установить атрибут, но вы можете скрыть его, указав его как «назначающий» для этого атрибута. Это позволяет вам, если хотите, использовать более удобный оператор присваивания вместо вызова setter.

0
задан Shoux 20 February 2019 в 21:04
поделиться

1 ответ

Вы можете сделать это, просто отображая фильмы и создавая реагирующий элемент, используя компонент класса в качестве первого параметра.

var moviesElements = movies.map(function(movie) {
  return React.createElement(Movie, {movie: movie});
});

Я сделал пример песочницы кода (также исправил некоторые опечатки и пропущенные параметры из кода, которым вы поделились)

0
ответ дан Martin Prins 20 February 2019 в 21:04
поделиться
Другие вопросы по тегам:

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