Учебное пособие по React Native Flexbox с примером

В этом примере мы изучим React Native Flexbox Tutorial. Работа с макетом flexbox может быть сложной, особенно в React Native. Нативный компонент React использует flexbox для создания своих дочерних элементов. Flexbox работает в React Native так же, как и в CSS в Интернете, за некоторыми исключениями. Значения по умолчанию разные: для flexDirection по умолчанию используется столбец, а не строка, а параметр flex поддерживает только одно число. Если вы новичок в React Native, ознакомьтесь с информацией ниже.

Связанное сообщение: Руководство для начинающих по созданию приложения React Native
Кроме того, вы можете пройти курс ниже, чтобы изучить React Native From Scratch.
React Native — Практическое руководство

Учебное пособие по React Native Flexbox.

Сначала мы установим React Native на Mac и затем мы начнем наше руководство.

Шаг 1. Установите React Native.

Выполните следующую команду в Терминале, если вы ранее не устанавливали это. В противном случае пропустите команду ниже.

 sudo npm install -g react-native-cli 

Используйте Интерфейс командной строки React Native для создания нового проекта React Native под названием « flex «:

 react-native init flex 

Теперь войдите в эту папку и нажмите следующую команду.

 cd flexreact-native run-ios 

Для компиляции потребуется некоторое время, затем откроется диспетчер пакетов и откроется симулятор iOS , а в после этого вы увидите экран по умолчанию, как показано ниже.

Шаг 2: Знакомство с Flex Layout.

Хорошо, теперь сначала измените наш Код App.js к приведенному ниже коду. Он находится в корне проекта.

//App.jsimport React, {Component} из 'react'; импорт {StyleSheet, Text, View} из 'react-native'; экспорт по умолчанию  class App extends Component {render () {return (  Добро пожаловать в React Native   Добро пожаловать  в React Native   Добро пожаловать в React Native  );  }} const styles = StyleSheet.create ({container: {flex: 1, marginTop: 20, backgroundColor: '# F5FCFF',}, добро пожаловать: {flex: 1, margin: 20, backgroundColor: 'orange', margin: 10  , textAlign: 'center', fontSize: 20, paddingTop: 70,}}); 

Итак, ваш экран выглядит так, как показано ниже.

Теперь мы попытаемся разобраться в свойствах одно за другим.. Итак, вы можете видеть, как работает flex .

Здесь мы использовали два стиля.

  1. container
  2. welcome

Наш родительский макет — это макет контейнера, и если мы назначим flex = 1 , то это займет весь доступный экран. Теперь мы удалим элементы и свойства, некоторые элементы и свойства, чтобы увидеть, какие свойства что делают. Напишите файл App.js со следующим кодом.

//App.jsimport React, {Component} из 'react'; import {StyleSheet, Text,  Просмотр} из 'react-native'; класс экспорта по умолчанию. Приложение расширяет компонент {render () {return ( );  }} const styles = StyleSheet.create ({container: {flex: 1, backgroundColor: '# F5FCFF',}}); 

Как мы обсуждали ранее, когда мы назначаем flex = 1 , тогда он займет весь экран. Итак, прямо сейчас весь ваш экран залит этим цветом фона ‘# F5FCFF’ .

Теперь удалите свойство flex, чтобы посмотреть, что произойдет. Цвет фона исчез. Свойство Flex будет определять для контейнера Flex , как он должен управлять пространством вдоль главной оси или как он должен распределять пространство между несколько Flex контейнеров . Итак, если мы установим flex: 1 , тогда контейнер будет расширяться на всю доступную ширину вдоль Main Axis своего родителя. React Native использует ограниченные свойства и значения макета Flexbox . Но этого достаточно, чтобы удовлетворить все ваши требования.

Теперь добавьте стили в контейнер. Таким образом, цвет фона занимает все пространство экрана. Итак, это наш основной контейнер. Хорошо, давайте поговорим о главной оси и поперечной оси.

Главная ось

Контейнер Flex дочерние элементы всегда следуют направлению основной оси родительского контейнера и, изменяя направление гибкости , мы меняем направление Main Axis . Главная ось означает, что в математике это ось Y или направление столбца.

Поперечная ось

Поперечная ось расширяется по оси X или в направлении строк. Мы можем изменить значение, используя свойство flexDirection .

Добавить еще один элемент внутри контейнера.

Мы добавим один дочерний элемент внутри контейнера представления.

//Класс App.jsexport по умолчанию App расширяет Component {render () {return (  Добро пожаловать в React Native  );  }} const styles = StyleSheet.create ({container: {flex: 1, backgroundColor: '# F5FCFF',}, welcome: {flex: 1}}); 

Теперь перезагрузите iOS экран, если вы не включили горячую перезагрузку. Кстати, вы можете разрешить горячую перезагрузку, набрав горячую клавишу: cmd + D , и вы получите один экран меню, в котором выберите включить горячую перезагрузку . Вы увидите экран, как показано ниже.

Вы можете видеть что текст появляется на экране, но находится в самом верху и не имеет хорошего стиля. Итак, что мы можем сделать, так это присвоить контейнеру marginTop: 20 и посмотреть, что произойдет. Также присвойте стилю приветствия marginTop: 20 .

//Класс по умолчанию App.jsexport App extends Component {render () {return (  Добро пожаловать в React Native  );  }} const styles = StyleSheet.create ({container: {flex: 1, marginTop: 20, backgroundColor: '# F5FCFF',}, добро пожаловать: {flex: 1, margin: 20}}); 

Вы увидите такой экран.

Теперь все выглядит хорошо. Хорошо, теперь повторите текст приветствия еще два раза, вот так.

//Класс App.jsexport по умолчанию App расширяет Component {render () {return (  Добро пожаловать в React Native   Добро пожаловать в React Native   Добро пожаловать в React Native Текст> );  }} 

Мы уже назначили оба контейнера стилей и добро пожаловать в flex 1 .

//App.jsconst styles =  StyleSheet.create ({container: {flex: 1, marginTop: 20, backgroundColor: '# F5FCFF',}, добро пожаловать: {flex: 1, margin: 20}}); 

Теперь, мы можем анализировать экран.

Смотрите, теперь все трое детей имеют одинаковую высоту и ширину. Мы можем убедиться в этом, назначив цвет фона и установив свойство поля.

//App.jsconst styles = StyleSheet.create ({container: {flex: 1, marginTop: 20, backgroundColor: '#  F5FCFF ',}, добро пожаловать: {flex: 1, margin: 20, backgroundColor:' orange ', margin: 10}}); 

Хорошо, теперь снова посмотрим на экран.

Теперь по умолчанию flexDirection располагается вдоль главной оси. Измените flexDirection на row и посмотрите, что произойдет.

//App.jsconst styles = StyleSheet.create ({container: {flex: 1, marginTop: 20, flexDirection: 'row', backgroundColor:  '# F5FCFF',}, добро пожаловать: {flex: 1, margin: 20, backgroundColor: 'orange', margin: 10}}); 

Таким образом, дочерний элемент выровнен в одну строку, а оставшаяся область покрыта гибким слоем 1. Итак, это вот как можно использовать свойство flexDirection . Теперь снова удалите свойство flexDirection. Он имеет два свойства, как определено ниже. Вы можете использовать по своему усмотрению.

 flexDirection: 'column' ||  'row' 

Выровнять содержимое

Добавление justifyContent к стилю компонента определяет распределение детей по первичной оси . Какие дочерние элементы следует распределить в начале, в центре, в конце или равномерно? Доступные варианты: flex-start , center , flex-end , space-around , между пробелами и равномерно . Он будет работать в поперечном направлении или по оси X.

Выровнять элементы

Он будет работать по оси Y или главному направлению . Он выровняет элементы в начале, по центру и в конце гибкого макета. Он имеет следующие свойства: flex-start, center, flex-end, space-around, space-between и space-evenly . Мы можем использовать это в нашем примере.

//App.jsconst styles = StyleSheet.create ({container: {flex: 1, marginTop: 20, backgroundColor: '# F5FCFF', alignItems: '  flex-start ',}, добро пожаловать: {flex: 1, margin: 20, backgroundColor:' orange ', margin: 10,}}); 

Результат выглядит следующим образом.

Точно так же мы можем назначить другие свойства и увидеть результат изменения.

Text Align

Свойство textAlign выравнивает дочерний текст по левому краю , вправо или по центру. В нашем примере это текст «Добро пожаловать, чтобы реагировать на родной язык». Теперь мы можем назначить textAlign: ‘center’ стилю приветствия .

//App.jsconst styles = StyleSheet.create ({container: {flex:  1, marginTop: 20, backgroundColor: '# F5FCFF',}, добро пожаловать: {flex: 1, margin: 20, backgroundColor: 'orange', margin: 10, textAlign: 'center',}}); 

Теперь мы можем дать paddingTop к тексту, чтобы он находился в центре, а также назначьте fontSize: 20 , чтобы он выглядел большим.

// App.jsconst styles = StyleSheet.create ({container: {flex: 1, marginTop: 20, backgroundColor: '# F5FCFF',}, добро пожаловать: {flex: 1, margin: 20, backgroundColor: 'orange', margin: 10  , textAlign: 'center', fontSize: 20, paddingTop: 70,}}); 

Итак, наш окончательный макет выглядит так.

Окончательный код выглядит так.

//App.jsimport React, {  Component} из 'react'; импорт {StyleS  heet, Text, View} из 'react-native'; класс экспорта по умолчанию App расширяет Component {render () {return (  Добро пожаловать в React Native   Добро пожаловать в React Native   Добро пожаловать в React Native  );  }} const styles = StyleSheet.create ({container: {flex: 1, marginTop: 20, backgroundColor: '# F5FCFF',}, добро пожаловать: {flex: 1, margin: 20, backgroundColor: 'orange', margin: 10  , textAlign: 'center', fontSize: 20, paddingTop: 70,}}); 

Есть другие свойства, о которых вы можете узнать в React Native Documentation.

Наконец, Учебное пособие по React Native Flexbox подошло к концу. Спасибо, что приняли.

Оцените статью
nanomode.ru
Добавить комментарий