Основные вопросы:
Что такое React Native? Какие основные принципы лежат в его основе?
React Native - это фреймворк для разработки мобильных приложений с использованием JavaScript и React. Основные принципы:
Использование декларативного подхода для описания интерфейса приложения с использованием компонентов.
Поддержка переиспользования компонентов как для Android, так и для iOS.
Архитектура, основанная на компонентах, которая способствует легкости разработки и тестирования приложений.
Какие компоненты React подходят для использования в React Native? Есть ли какие-то различия в использовании?
В React Native можно использовать базовые компоненты React, такие как View, Text, Image, ScrollView, FlatList и т.д. Различия:
В React Native стилизация компонентов осуществляется с помощью объектов JavaScript, а не CSS.
Навигационные компоненты часто используются из сторонних библиотек, таких как React Navigation.
Какие основные преимущества и недостатки у React Native по сравнению с нативной разработкой?
Преимущества:
Быстрая разработка благодаря повторному использованию кода между платформами.
Один и тот же код может работать как на Android, так и на iOS.
Возможность использования JavaScript и React для создания мобильных приложений.
Недостатки:
Некоторые сложные взаимодействия с нативными API могут потребовать написания дополнительного нативного кода (Native Modules).
Возможные проблемы с производительностью в сложных и высоконагруженных приложениях.
Какие инструменты вы используете для отладки и профилирования React Native приложений?
Для отладки и профилирования использую следующие инструменты:
Chrome DevTools для отладки JavaScript кода и профилирования.
React Native Debugger для удобной отладки и просмотра состояний Redux.
Flipper (ранее Reactotron) для мониторинга сетевых запросов и работы с базой данных.
Как вы организуете структуру проекта в React Native приложении?
Я обычно структурирую проект следующим образом:
bash
Копировать код
/src
/components
/screens
/navigation
/redux
/services
/utils
components: Повторно используемые UI компоненты.
screens: Каждый экран приложения в своей папке.
navigation: Конфигурация навигации.
redux: Конфигурация Redux (actions, reducers, store).
services: Сетевые запросы и взаимодействие с API.
utils: Вспомогательные функции и утилиты.
React Native Core:
Что такое компоненты и каковы основные жизненные циклы компонентов в React Native?
Компоненты в React Native - это независимые блоки, из которых состоит пользовательский интерфейс. Основные жизненные циклы:
Mounting (Монтирование): constructor, componentWillMount, render, componentDidMount.
Updating (Обновление): componentWillReceiveProps, shouldComponentUpdate, componentWillUpdate, render, componentDidUpdate.
Unmounting (Размонтирование): componentWillUnmount.
Что такое состояние (state) в React Native? Какие есть различия между состоянием и пропсами (props)?
Состояние (state) - это данные, управляемые компонентом. Различия:
Состояние управляется компонентом и может изменяться в течение жизненного цикла компонента.
Пропсы (props) - это данные, передаваемые в компонент из внешнего источника и не могут изменяться внутри самого компонента.
Что такое ref в React Native и когда вы бы использовали его в приложении?
ref в React Native - это ссылка на конкретный экземпляр компонента или элемента. Я бы использовал ref в следующих случаях:
Для доступа к методам компонента, например, вызова методов из ScrollView.
Для доступа к DOM элементам, таким как TextInput для фокусировки или измерения размеров.
Что такое контекст (context) в React Native? Каковы преимущества его использования?
Контекст (context) - это способ передачи данных через дерево компонентов без необходимости передачи пропсов на промежуточных уровнях.
Преимущества использования контекста:
Что такое React Native? Какие основные принципы лежат в его основе?
React Native - это фреймворк для разработки мобильных приложений с использованием JavaScript и React. Основные принципы:
Использование декларативного подхода для описания интерфейса приложения с использованием компонентов.
Поддержка переиспользования компонентов как для Android, так и для iOS.
Архитектура, основанная на компонентах, которая способствует легкости разработки и тестирования приложений.
Какие компоненты React подходят для использования в React Native? Есть ли какие-то различия в использовании?
В React Native можно использовать базовые компоненты React, такие как View, Text, Image, ScrollView, FlatList и т.д. Различия:
В React Native стилизация компонентов осуществляется с помощью объектов JavaScript, а не CSS.
Навигационные компоненты часто используются из сторонних библиотек, таких как React Navigation.
Какие основные преимущества и недостатки у React Native по сравнению с нативной разработкой?
Преимущества:
Быстрая разработка благодаря повторному использованию кода между платформами.
Один и тот же код может работать как на Android, так и на iOS.
Возможность использования JavaScript и React для создания мобильных приложений.
Недостатки:
Некоторые сложные взаимодействия с нативными API могут потребовать написания дополнительного нативного кода (Native Modules).
Возможные проблемы с производительностью в сложных и высоконагруженных приложениях.
Какие инструменты вы используете для отладки и профилирования React Native приложений?
Для отладки и профилирования использую следующие инструменты:
Chrome DevTools для отладки JavaScript кода и профилирования.
React Native Debugger для удобной отладки и просмотра состояний Redux.
Flipper (ранее Reactotron) для мониторинга сетевых запросов и работы с базой данных.
Как вы организуете структуру проекта в React Native приложении?
Я обычно структурирую проект следующим образом:
bash
Копировать код
/src
/components
/screens
/navigation
/redux
/services
/utils
components: Повторно используемые UI компоненты.
screens: Каждый экран приложения в своей папке.
navigation: Конфигурация навигации.
redux: Конфигурация Redux (actions, reducers, store).
services: Сетевые запросы и взаимодействие с API.
utils: Вспомогательные функции и утилиты.
React Native Core:
Что такое компоненты и каковы основные жизненные циклы компонентов в React Native?
Компоненты в React Native - это независимые блоки, из которых состоит пользовательский интерфейс. Основные жизненные циклы:
Mounting (Монтирование): constructor, componentWillMount, render, componentDidMount.
Updating (Обновление): componentWillReceiveProps, shouldComponentUpdate, componentWillUpdate, render, componentDidUpdate.
Unmounting (Размонтирование): componentWillUnmount.
Что такое состояние (state) в React Native? Какие есть различия между состоянием и пропсами (props)?
Состояние (state) - это данные, управляемые компонентом. Различия:
Состояние управляется компонентом и может изменяться в течение жизненного цикла компонента.
Пропсы (props) - это данные, передаваемые в компонент из внешнего источника и не могут изменяться внутри самого компонента.
Что такое ref в React Native и когда вы бы использовали его в приложении?
ref в React Native - это ссылка на конкретный экземпляр компонента или элемента. Я бы использовал ref в следующих случаях:
Для доступа к методам компонента, например, вызова методов из ScrollView.
Для доступа к DOM элементам, таким как TextInput для фокусировки или измерения размеров.
Что такое контекст (context) в React Native? Каковы преимущества его использования?
Контекст (context) - это способ передачи данных через дерево компонентов без необходимости передачи пропсов на промежуточных уровнях.
Преимущества использования контекста:
Упрощает передачу данных, которые являются глобальными для приложения.
Уменьшает необходимость во многих промежуточных компонентах, что делает код чище.
Навигация и Управление Состоянием:
Как вы управляете навигацией в вашем приложении React Native? Какие библиотеки вы предпочитаете использовать и почему?
Я использую React Navigation для управления навигацией в приложении. Она предоставляет:
Простой и гибкий API для настройки стековой и табличной навигации.
Поддержка жестов для Android и iOS.
Легкая настройка и интеграция с Redux для управления состоянием навигации.
Как вы управляете состоянием приложения в React Native? Что такое Redux, и когда вы бы его использовали?
Я использую Redux для управления глобальным состоянием приложения. Redux предоставляет:
Одно источник истины (single source of truth).
Предсказуемость и удобство отладки благодаря однонаправленному потоку данных.
Удобный доступ к данным из любой части приложения.
Я бы использовал Redux:
Когда приложение имеет сложное глобальное состояние, которое нужно обновлять из разных частей приложения.
Для управления состоянием навигации, аутентификации и другими глобальными данными.
Как вы обрабатываете асинхронные операции, такие как сетевые запросы или доступ к хранилищу, в React Native приложении?
Для асинхронных операций, таких как сетевые запросы или доступ к хранилищу, я использую:
fetch API для выполнения HTTP запросов.
Библиотеку axios для уп
Уменьшает необходимость во многих промежуточных компонентах, что делает код чище.
Навигация и Управление Состоянием:
Как вы управляете навигацией в вашем приложении React Native? Какие библиотеки вы предпочитаете использовать и почему?
Я использую React Navigation для управления навигацией в приложении. Она предоставляет:
Простой и гибкий API для настройки стековой и табличной навигации.
Поддержка жестов для Android и iOS.
Легкая настройка и интеграция с Redux для управления состоянием навигации.
Как вы управляете состоянием приложения в React Native? Что такое Redux, и когда вы бы его использовали?
Я использую Redux для управления глобальным состоянием приложения. Redux предоставляет:
Одно источник истины (single source of truth).
Предсказуемость и удобство отладки благодаря однонаправленному потоку данных.
Удобный доступ к данным из любой части приложения.
Я бы использовал Redux:
Когда приложение имеет сложное глобальное состояние, которое нужно обновлять из разных частей приложения.
Для управления состоянием навигации, аутентификации и другими глобальными данными.
Как вы обрабатываете асинхронные операции, такие как сетевые запросы или доступ к хранилищу, в React Native приложении?
Для асинхронных операций, таких как сетевые запросы или доступ к хранилищу, я использую:
fetch API для выполнения HTTP запросов.
Библиотеку axios для уп
👍1
"В JavaScript наследование реализовано через прототипы."
Это значит, что один объект может "дотянуться" до методов и свойств другого объекта через цепочку прототипов.
Если попросят объяснить преимущества:
Переиспользование кода.
Упрощение структуры.
Легче вносить изменения, потому что общий код находится у родителя.
если объект не находит свойство, он ищет его у родителя
Это значит, что один объект может "дотянуться" до методов и свойств другого объекта через цепочку прототипов.
Если попросят объяснить преимущества:
Переиспользование кода.
Упрощение структуры.
Легче вносить изменения, потому что общий код находится у родителя.
если объект не находит свойство, он ищет его у родителя
Что такое this?
this указывает на объект области видимости во время выполнения. По умолчанию this указывает на глобальный объект. В браузере выражение this === window будет истинно.
this указывает на объект области видимости во время выполнения. По умолчанию this указывает на глобальный объект. В браузере выражение this === window будет истинно.
Что такое замыкание?
Замыкание это функция у которой есть доступ к своей внешней функции по области видимости, даже после того, как внешняя функция прекратилась. Это говорит о том, что замыкание может запоминать и получать доступ к переменным, и аргументам своей внешней функции, даже после того, как та прекратит выполнение.
Замыкание это функция у которой есть доступ к своей внешней функции по области видимости, даже после того, как внешняя функция прекратилась. Это говорит о том, что замыкание может запоминать и получать доступ к переменным, и аргументам своей внешней функции, даже после того, как та прекратит выполнение.
Сборка (или «бандлинг») — это процесс выявления импортированных файлов и объединения их в один «собранный» файл (часто называемый «bundle» или «бандл»). Этот бандл после подключения на веб-страницу загружает всё приложение за один раз.