На самом деле я узнал, чего не хватало.Я начал с React Native и подумал, что смогу получить доступ к свойствам стиля своих детей моего пользовательского компонента без добавления реквизита.Я забыл создать реквизит для своего компонента, чтобы он мог воспринимать стиль снаружи.
Я наконец-то сделал это так:
style = {{..}} теперь является реквизитом в моем пользовательском компоненте (см. 2-й код)
export default class NoStreetInput extends React.Component {
render() {
return(
<View style={{flex:1, flexDirection: 'row'}}>
<FormInput style={{flex:0, width:35}} placeholder={this.props.placeholderNo}
defaultValue={this.props.defaultValueNo} width="35" keyboardType="number-pad" upperLabel="No"/>
<FormInput style={{flex:1}} placeholder={this.props.placeholderStree}
defaultValue={this.props.defaultValueStreet} upperLabel="Rue" />
</View>
);
}
}
MyПользовательский компонент (он немного отличается от предыдущего, но логика та же):
<View style={[styles.container, this.props.style]}>
<Text style={[styles.upperLabel, customStyle]}>{upperLabel}</Text>
<TextInput
style={[styles.textInput, this.props.textInputStyle]}
autoCorrect={false}
defaultValue={this.props.defaultValue}
value={text}
placeholder={this.props.placeholder}
secureTextEntry={secureTextEntry}
password={password}
keyboardType={keyboardType}
maxLength={maxLength}
onChangeText={this.handleChangeText}
onSubmitEditing={this.handleSubmitEditing}
/>
</View>
style = {[styles.textInput, this.props.textInputStyle]} позволяет мне использовать стиль по умолчанию для моегокомпонент, который может быть переопределен this.props.textInputStyle:)