ReactJS: Зачем использовать this.props.children?

Я понял, что ни один из компонентов, которые я пишу, не использует{this.props.children}.

Я склонен составлять свои компоненты так, как это указано в официальных документах.https://facebook.github.io/react/docs/multiple-components.html.

Это вложение компонентов, как это ...

<A>
  <B />
  <C />
</A>

... выгодно составлять их так?

A.js

render() {
    <B />
    <C />
}

Предполагая, что это правильная терминология, чего мне не хватает?

 JordanHendrix27 июл. 2016 г., 16:05
Что делать, если вы не знаете, что такое дети? подумайте о компоненте-обертке, который применяет некоторый стиль или действие к своим дочерним элементам, независимо от того, что они из себя представляют. Кроме того, речь идет не об одном компоненте, а о приложении: когда вы создаете сайт с реагированием, вы будете его использовать.

Ответы на вопрос(3)

Решение Вопроса

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

 MattDuFeu02 авг. 2016 г., 16:19
Хорошие моменты, это был самый полезный ответ, чтобы успокоить мои мысли.

Некоторые компоненты не знают своих детей раньше времени. Это особенно характерно для таких компонентов, как боковая панель или диалог, которые представляют общие «блоки».

Мы рекомендуем, чтобы такие компоненты использовали специальную дочернюю опору для передачи дочерних элементов непосредственно в их вывод:Прочитайте больше...

Я бы сказал, что это будет полезно, если вы не знаете, что хотите визуализировать.

Например, у вас есть всплывающая подсказка, скажем, этоA компонент в вашем сценарии, и вы можете использовать его для передачи различного контента:

<A>
    <div>Some text...</div>
    <ImageComponent />  // render an image as well
</A>

Или же:

<A>
    <div>Only text</div>
</A>

Ваш ответ на вопрос