Фундаментальні концепції React в React Native
Базові концепції:
Компонент
JSX
Пропс (props)
Стейт (state)
Компонент
Логіка побудови верстки застосунку - використання компонентів. Окрім базових компонентів користувачі можуть створювати власні компоненти для повторного використання у своєму застосунку.
Компоненти бувають класові та функціональні. Далі розглянемо створення власного компоненту (класового і функціонального).
Класові компоненти
Згори класового компонента роблять всі необхідні імпорти. Зокрема імпортують Component із бібліотеки React і базові компоненти з бібліотеки React Native, а також інші імпорти, необхідні для функціонування компонента. Оголошується класовий компонент так само як і в React: class ComponentName extends Component. Функція render() {} слугує для повернення верстки компонента. Ну і звичайно свій компонент можна експортувати для використання в інших компонентах. Використовуйте як іменований, так і дефолтний експорт.
Функціональні компоненти
Згори функціонального компонента роблять імпорти, зокрема всіх вживаних нижче базових компонентів. Створити компонент можна використовуючи класичний синтаксис, так і стрілковий. Використовуйте експорти.
JSX
Вся логіка використання JSX зберігається і в React Native. Не забувайте правильно закривати компонент: <Text>Hello, I am your friend! </Text>.
Щоб застосувати JavaScript в JSX його пишуть всередині фігурних дужок:
Кастомні компоненти
Кастомні компоненти збираються із базових компонентів. Потім їх можна імпортувати з зовнішнього файлу і використовувати у верстці. Так само можуть бути як класові так і функціональні компоненти. Нижче в прикладах якраз <Friend /> є кастомним компонентом, який отримує як налаштування значення свого тексту.
Пропс (props)
Props - налаштування компонента, які дозволяють його кастомізувати. Можна компоненту передавати свої пропси.
Для налаштування компонента передбачені нативні пропси компонентів, наприклад для Image - посилання на картинку, або стилізація компонента тощо. Повний перелік пропсів для кожного компонента можна отримати на офіційній сторінці React Native.
Стейт (state)
Компоненти перерендерюються також коли змінюється стейт. Концепції стейту для React Native зберігаються такі ж як і для React.
Стейт класового компонента
В класових компонентах стейт зберігається в обʼєкті state. У ньому за кожне значення відповідає параметр, а його значення після двох крапок. Щоб звертатися до стейту не забуваємо використовувати контекст: this.state. Так само при перезаписі стейту не забуваємо контекст this.setState. Так само при перезаписі значення стейту просто вказуємо нове значення. Якщо його потрібно змінити, то використовуємо prevState.
Стейт функціонального компонента
Для використання стейту в функціональних компонентах використовуємо хук useState. В такому разі не використовуємо контекст. Правила зміни стейту зберігаються такі самі як і для React.
Посилання на офіційну документацію:
Last updated