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