Wenn ich children
prop Reagieren des richtig verstehen:Einzel Kind und „onlyChild muss ein Kind mit genau einem Kind weitergegeben werden“
children
ist normalerweise ein Array, aber wenn es nur ein Kind ist, gibt es, dass einzelnes Kind . (source)children
ist „undurchsichtig“, so Anwendungscode offenbar nicht verlassen sollte. (source)React.children.count
kehrt1
, wenn nur ein Kind.React.children.only
sollte das einzige Kind bekommen.
auf dieser Grundlage würde ich der folgende Code erwarten zu arbeiten: Statt
const Sample = ({children, ...props}) => {
if (React.Children.count(children) === 1) {
doSomethingWith(React.Children.only(children));
}
// etc.
};
<Sample>Hello, world!<Sample>;
, wirft es die folgenden Fehler:
onlyChild must be passed a children with exactly one child
Warum?
Perfect. Vielen Dank. Das ist definitiv nicht klar aus den Dokumenten. –