我想允许用户通过设置一个布尔状态(我称之为pinyinMode
)来切换Text
组件是否存在。
return (
<View style={{ backgroundColor: 'red' }}>
<Pressable style={{ alignItems: 'center', justifyContent: 'center', backgroundColor: 'green' }}>
<Text style={{ fontSize: 20, backgroundColor: 'blue' }}>{hanzi}</Text>
{pinyinMode && <Text style={{ backgroundColor: 'yellow' }}>{pinyin}</Text>}
</Pressable>
</View>
);
字符串
参考下面的屏幕截图,当pinyinMode
是false
时,View
不会围绕其子对象调整大小。(我还将(
和)
字符的fontSize: 32
减小为fontSize: 20
。)pinyinMode == true
:
的数据pinyinMode == false
:
的
如果删除{pinyinMode && <Text style={{ backgroundColor: 'green' }}>{pinyin}</Text>}
行,View
将正确呈现:
return (
<View style={{ backgroundColor: 'red' }}>
<Pressable style={{ alignItems: 'center', justifyContent: 'center', backgroundColor: 'green' }}>
<Text style={{ fontSize: 20, backgroundColor: 'blue' }}>{hanzi}</Text>
</Pressable>
</View>
);
型
的
如何让View
正确调整其子节点周围的大小?
1条答案
按热度按时间ccgok5k51#
我使用的解决方案是创建两个单独的组件,一个包含
pinyin
Text
组件,另一个不包含pinyin
Text
组件。当pinyinMode
为true时返回第一个组件,当pinyinMode
为false时返回第二个组件。