Если я понимаю РЕАКТ children
подпорку правильно:одного ребенка и «onlyChild должны быть миновал детей только с одним ребенком»
children
обычно представляет собой массив, но если есть только один ребенок, это дает, что одного ребенка , (source)children
«непрозрачный», поэтому код приложения, по-видимому, не должен полагаться на это. (source)React.children.count
1
если есть только один ребенок.React.children.only
должен быть единственным ребенком.
Исходя из этого, я хотел бы ожидать следующий код для работы:
const Sample = ({children, ...props}) => {
if (React.Children.count(children) === 1) {
doSomethingWith(React.Children.only(children));
}
// etc.
};
<Sample>Hello, world!<Sample>;
Вместо этого, он выдает следующее сообщение об ошибке:
onlyChild must be passed a children with exactly one child
Почему?
Perfect. Благодарю. Это определенно не ясно из документов. –