Ich habe eine menuItem
Komponente und ihre Requisiten ist ein Symbol Komponente von mir erstellt und FontIcon
genannt.Reactjs, wie Zeichenfolge in [Objekt Objekt] konvertiert
Und in menuItem
Requisiten können Sie einen Namen des Symbols als Zeichenfolge übergeben, zum Beispiel: leftIcon="face"
, aber Sie können auch einen Code für die Komponente wie folgt übergeben: leftIcon='<FontIcon style={{color:"red"}} className="face" />'
.
Im ersten Fall werden alle funktioniert perfekt, die Requisiten auf die Variable übergeben wird, wenn der Code für die Komponente:
leftIcon = <FontIcon size={_props.fontSize} className={_props.leftIcon} />;
Aber diese zweite Möglichkeit nicht funktioniert. Wenn der Benutzer den gesamten Code geht muss ich etwas dazu (dieser Größenwert wie oben) an, an dieser Stelle diese Zugabe Werke:
leftIcon = _props.leftIcon.replace(/\/>$/, " size={_props.fontSize}/>");
Here I if
habe zu prüfen, was die Benutzer weitergegeben :
if (_props.leftIcon.match(/<.+\/>/)) {
leftIcon = _props.leftIcon.replace(/\/>$/, " size={_props.fontSize}/>");
} else {
leftIcon = <FontIcon size={_props.fontSize} className={_props.leftIcon} />;
}
Aber auf diese zweite Weise bekomme ich eine Zeichenfolge und es funktioniert nicht. Es gibt kein Symbol, aber es gibt einen String mit Code:
Also habe ich getröstet log dies und es ist, was ich habe:
Die typeof
dieser erste ist Objekt, aber dieses zweite ist Zeichenfolge.
Was kann also tun, um diesen zweiten Weg zu machen?
leider funktioniert es nicht, weil Sie diesen Arbeitsteil ausgearbeitet haben, dieses erste 'if' funktioniert nicht, weil es Zeichenfolge ist. – Karol
Ich habe verpasst, dass du es als Requisite durchgehst. In diesem Fall müssen Sie den Typ als Requisite übergeben und den Rest in menuItem ausführen. –
Es tut mir leid, aber ich verstehe nicht, was meinst du: "Gib den Typ als Requisite". – Karol