Использование определенных дочерних компонентов с общим родительским компонентом

#reactjs

#reactjs

Вопрос:

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

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

Например, я написал контейнер вкладок, который просто отображает область содержимого прямо сейчас. Область содержимого будет parent . Я хочу иметь N различных типов элементов, которые могут входить в эту область содержимого. Эти элементы будут children .

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

Дайте мне знать, если мой вопрос неясен.

Заранее благодарю вас!

Ответ №1:

Иногда я делаю это так:

 var Parent = React.createClass({
  render: function() {
    return React.DOM.div({}, this.props.childClass(this.props.childProps));
  }
});
  

или:

 var Parent = React.createClass({
  render: function() {
    return React.DOM.div({children: this.props.children});
  }
});

Parent({}, ChildClass({foo: 'asdf'}))