Ich möchte etwas wie SCSS für React Native schreiben: Es wird Ihre Komponente Jsx und die speziellen SCSS-like Stile analysieren und eine normale RN-Komponente mit überarbeiteten Stilen und Jsx zurückgeben.Wie extrahiert man JSX aus der Klassen-Render-Methode?
Können sagen, wir haben diesen Code reagieren:
class MyClass extends Component {
render() {
return (
<View style={styles.container}>
<Text>I remember syrup sandwiches</Text>
</View>
);
}
}
Auch ich habe SCSS-ish Stile, wo jede Text-Komponente innerhalb der übergeordneten mit einem Behälter „Klasse“ die gleichen Requisiten, die wir zur Verfügung gestellt.
const styles = StyleSheet.create(
toRNStyles({
container: {
Text: { color: 'red' },
},
})
);
Am Ende müssen wir die Ausgabe von so etwas wie folgt aus:
...
<View style={styles.container}>
<Text style={styles._Text_container}>
I remember syrup sandwiches
</Text>
</View>
...
So wie kann ich die jsx erhalten, die von außerhalb der Klasse von der Render-Methode ist der Rückkehr?
Zu welchem Zweck benötigen Sie den Ausgang? Sie könnten 'render()' wie von @yoda vorgeschlagen verwenden oder die Komponente mit einer Komponente höherer Ordnung umschließen, wenn Sie zur Laufzeit angepasst werden müssen. Die Ausgabe ist nicht JSX (die Syntax für die Verwendung von Komponenten), sondern ein React-Element (ein Objekt, das die Instanz einer Komponente beschreibt). – ryanjduffy
Warum möchten Sie das tun? Stellen Sie einen Kontext bereit. Wahrscheinlich ist das nicht das, was Sie tun wollen, um Ihr Problem zu lösen. – trixn
[Das XY-Problem] (https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) –