Ich habe eine Frage in Bezug auf Objekt Destrukturierung in JS. Im folgenden Code würde ich davon ausgehen, dass der Komponente Layout das Wertlayout (mit Kleinbuchstaben) zugewiesen worden wäre. Der Wert des Layouts ist jedoch nicht definiert und Layout wird verwendet.ES6-Objekt Destrukturierung Klärung mit React-Komponente
const MustBeAuthenticated = ({ layout: Layout, ...rest }) => {
if (!isAuthenticated()) {
return redirectToLogin({...rest})
}
return (
<Layout {...rest} />
)
}
Ich habe dann versucht, die Komponente mit ({ Layout, ...rest })
zu extrahieren, aber ich bekomme wieder einen undefinierten Fehler ausgelöst. Ich wollte nur etwas klären, wenn ich etwas falsch verstehe.
Nein sind Sie tatsächlich Recht. Aber ich sehe keinen Sinn darin '{... Rest}' zu machen, 'Rest' wäre genug –
Es ist' ... Rest', der einen Fehler nicht 'Layout' wirft, der richtig ist –
Ich rate meine Hauptfrage In Bezug auf '{layout: Layout}' würde ich annehmen, dass "Layout" zugänglich wäre und nicht "Layout". Gibt es hinter den Kulissen eine reaktive Magie, die diese Großschreibung verursacht? – William