В некоторых из моих экранов у меня есть небольшой текст, используемый в качестве ссылки. Это выглядит так:
Так как он появляется больше, чем когда я создал компонент с именем "BottomHelp".
Теперь дело в том, что он немного меняется с экрана на экран, иногда текст белый или выровненный по правому краю, поэтому я создал несколько стилей в своей таблице стилей и пропустил требование через реквизит. Вот так:
<BottomHelp
Text1="You are not a member?"
Color1="black"
Text2="Register."
Color2="red"
Align="left" />
Вот часть, в которой я понял, что все это может быть неуклюжим.
Как вы видите ниже, есть словарь для установки правильного стиля в зависимости от заданного реквизита.
Помимо того, что выглядит неуклюже, он также в настоящее время не работает (стили не применяются), но, вероятно, скоро его решит.
const BottomHelp = props => {
const styleCase = {
con: {
right: styles.bottomHelpContainerRight,
left: styles.bottomHelpContainerLeft,
},
text1: {
black: styles.bottomHelpText1Black,
white: styles.bottomHelpText1White,
},
text2: {red: styles.bottomHelpText2Red},
};
return (
<View style={styleCase['con'][props.Align]}>
<Text style={styleCase['text1'][props.Text1]}>{props.Text1}</Text>
<TouchableWithoutFeedback
onPress={() => {
alert('Register');
}}>
<Text style={styleCase['text2'][props.Text2]}>{props.Text2}</Text>
</TouchableWithoutFeedback>
</View>
);
};
Спасибо.