Есть ли разница между использованием <Container>и <View>в библиотеке пользовательского интерфейса NativeBase? - PullRequest
1 голос
/ 30 апреля 2020

NativeBase говорит об обтекании всех компонентов внутри тега <Container></Container>.

  1. Означает ли это заменить все теги <View></View>?
  2. Существуют ли различия в функциональности или макете при использовании всех тегов <Container> для замены всех тегов <View> и тисков наоборот?
  3. Должен ли я просто использовать один <Container> на экран и использовать <View> для остальных контейнеров внутри этого экрана?

Ответы [ 2 ]

1 голос
/ 30 апреля 2020

Контейнер : полный раздел экрана, например, в желтой области , - это контейнер, и вы можете добавить несколько представлений, а также заголовок, текст, нижний колонтитул и т. Д. c

enter image description here

Представление - это контейнер, который поддерживает макет с флексбоксом, стилем, некоторой обработкой касаний и элементами управления доступом. Просматривайте карты непосредственно в собственном эквивалентном представлении на любой платформе, на которой работает React Native, будь то UIView, android .view и т. Д. c.

в одном контейнере, вы можете добавить несколько представлений .

1 голос
/ 30 апреля 2020

Третий пункт в вашем вопросе является правильным. Container компонент должен использоваться только один раз для каждого экрана, чтобы обернуть все ваши дочерние компоненты, это немного похоже на React.Fragment.

Container обычно принимает три дочерних компонента

<Container>
   <Header> //<-always on top
      ...
   </Header>
   <Content> //<-supports scrolling
      ...
   </Content>
   <Footer> //<-always in the bottom
      ...
   </Footer>
</Container>

Есть ли какие-либо различия в функциональности или макете при использовании всех тегов для замены всех тегов и наоборот?

Не рекомендуется заменять все View на Container, поскольку Container имеет его стили по умолчанию, и он не будет вести себя так же, как если бы вы использовали View компонент для переноса компонентов.

...