1 回答

TA贡献1815条经验 获得超6个赞
您可以简单地拥有另一个状态变量或使用任何条件并设置文本值所需的样式。在这里,我使用了 styleToggle 并完成了它。
如您所见
<Text style={styleToggle? styles.bodyText:styles.bodyTextAft} numberOfLines={5}>
决定要使用的样式。
您可以在下面查看完整代码。
const [styleToggle,setStyleToggle]=useState(true);
const onPressTitle = () => {
if (titleText == 'First Text' && bodyText == 'Second Text!') {
setTitleText('First Text After');
setBodyText('Second Text After!');
}
else if (titleText == 'First Text After' && bodyText == 'Second Text After!') {
setTitleText('Second Text');
setBodyText('Second Text!');
}
setStyleToggle(!styleToggle);
}
return (
<View style={styles.container}>
<Text style={styles.baseText} onPress={this._onPressButton}>
{/* <TouchableHighlight {...touchProps}> */}
<Text style={styleToggle? styles.titleText:styles.titleTextAft}>
{titleText}{'\n'}{'\n'}</Text>
{/* </TouchableHighlight> */}
<Text style={styleToggle? styles.bodyText:styles.bodyTextAft} numberOfLines={5}>
{bodyText}{'\n'}{'\n'}
</Text>
</Text>
<View >
<TouchableOpacity
onPress={onPressTitle}>
<Text style={styles.pressMe}>Press Me!</Text>
</TouchableOpacity>
</View>
</View>
);
添加回答
举报