Используйте троичный оператор для условной визуализации.
render() {
const useContent = true;
return useContent ? (
<Content>
<Text></Text>
<View></View>
</Content>
) : (
<View>
<Text></Text>
<View></View>
</View>
)
}
Также может быть лучше извлечь эти две части в их собственные компоненты. Точно так же, файл вашего компонента не становится слишком большим, и обслуживание становится проблемой. Редактировать: Если вы хотите сохранить дочерние элементы компонента одинаковыми, и просто изменить элемент обертки, создайте второй компонент, который отображает дочерние элементы:
class WrappingElement extends Component {
render() {
const { children, useContent } = this.props;
return useContent ? (
<Content>{children}</Content>
) : (
<View>{children}</View>
)
}
}
class Foo extends Component {
render() {
<WrappingElement useContent={false}>
<Text>Hello World!</Text>
<View></View>
</WrappingElement>
}
}