Вот код, он очень простой:
render() {
return (
<View>
<StatusBar hidden={true}/>
<View style={{height:0}}>
<Button>
<Text>this button should disappears</Text>
</Button>
</View>
<View style={{height:400}}>
<Text>other view</Text>
</View>
</View>
);
}
И вот скриншот вывода:
Как видите, поскольку высота представления равна 0, контейнер кнопки невидим, но почему кнопка все еще видна?
После некоторой работы я обнаружил, что мне нужно установить backgroundColor&height для другого вида, чтобы он перекрывал кнопку, например:
<View style={{height:400,backgroundColor:'white'}}>
<Text>other view</Text>
</View>
Теперь кнопка будет невидимой.
Это так странно, только компонент Button, я пробовал несколько других компонентов, все в порядке, это баг Button?
Спасибо Вонг Ким Хау за его напоминание, компонент Button взят из «родной базы», а не «реагировать на родной».
Я использую react-native v0.44.0, native-base 2.1.3.