Reagieren Native: was ist der richtige Weg, um pass-Stil Requisiten, bei Verwendung von spread-operator auf die Kind-Komponente
Dies ist mein Komponente A:
const GenericTextInput = (props) => {
return (
<TextInput
style={styles.input}
{...props}
/>
);
};
Dies ist mein Komponente B:
const SignIn = (props) => {
return (
<View>
<GenericTextInput
placeholder="Email"
autoFocus={true}
keyboardType="email-address"
returnKeyType="next"
autoCorrect={false}
placeholderTextColor='rgba(250,248,244, .4)'
underlineColorAndroid='rgba(250,248,244, .7)'
/>
<GenericTextInput
placeholder="Password"
placeholderTextColor='rgba(250,248,244, .4)'
underlineColorAndroid='rgba(250,248,244, .7)'
secureTextEntry={true}
/>
</View>
);
};
Möchte ich hinzufügen, dass ein bestimmtes styling zum 2. GenericTextInput
in meinem Komponente B. In der Komponente A ich will das spread operator
(es ist so bequem).
Wenn ich einfach machen:
//component A
const GenericTextInput = (props) => {
return (
<TextInput
style={[styles.input, props.styles]}
{...props}
/>
);
};
//component B
const SignIn = (props) => {
return (
<View>
<GenericTextInput
placeholder="Email"
autoFocus={true}
keyboardType="email-address"
returnKeyType="next"
autoCorrect={false}
placeholderTextColor='rgba(250,248,244, .4)'
underlineColorAndroid='rgba(250,248,244, .7)'
/>
<GenericTextInput
placeholder="Password"
placeholderTextColor='rgba(250,248,244, .4)'
underlineColorAndroid='rgba(250,248,244, .7)'
secureTextEntry={true}
style={styles.customStyleForSecondInput}
/>
</View>
);
};
Werde ich haben 2 style
props
im comp. Ein, und die zweite style
prop
wird komplett überschreibt die erste.
Was ist die richtige Art und Weise zum hinzufügen einer spezifischen styling für die 2.GenericTextInput
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich in der Regel destructure die benannte Eigenschaft (
style
) für das Objekt, und verwenden Sie den rest-operator zu sammeln, die restlichen Requisiten in ein neues Objekt:Beachten Sie, dass dies erfordert die transform-Objekt-rest-Ausbreitung Babel-plugin. Dieses plugin ist im Reagieren Nativen Babel-Vorgabe, so wird es funktionieren out of the box-aber funktioniert möglicherweise nicht in anderen JavaScript-Umgebungen, ohne dieses plugin.
Wenn Sie möchten, dass Ihre benutzerdefinierten Formatvorlagen, um vollständig überschreiben die voreingestellten diejenigen, ich glaube, Sie können etwas tun, wie
aber ich denke, Sie werden Fragen, wie Sie die benutzerdefinierten Stile überschreiben einige der preset-ones. In diesem Fall wäre es
da Sie die übergabe der Immobilie nach unten, als 'Stil' nicht 'Stile' Sie legen Sie einfach das s am Ende.