39 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | ||
| title: Functional vs Class Components
 | ||
| localeTitle: Функциональные компоненты класса
 | ||
| ---
 | ||
| ## React Native - Функциональные компоненты класса
 | ||
| 
 | ||
| В React Native существуют два основных типа компонентов, которые составляют _функциональные компоненты приложения_ и _компоненты класса_ . Они структурированы так же, как и в обычном приложении React для Интернета.
 | ||
| 
 | ||
| ### Компоненты класса
 | ||
| 
 | ||
| Компоненты класса - это классы JavaScript ES2015, которые расширяют базовый класс от React, называемого `Component` .
 | ||
| 
 | ||
| ```js
 | ||
| class App extends Component { 
 | ||
|     render () { 
 | ||
|         return ( 
 | ||
|             <Text>Hello World!</Text> 
 | ||
|         ) 
 | ||
|     } 
 | ||
|  } 
 | ||
| ```
 | ||
| 
 | ||
| Это дает классу `App` доступ к жизненным циклам React, таким как `render` а также функции state / props от родителя.
 | ||
| 
 | ||
| ### Функциональные компоненты
 | ||
| 
 | ||
| Функциональные компоненты проще. Они не управляют своим собственным состоянием или имеют доступ к методам жизненного цикла, предоставленным React Native. Это буквально простые старые функции JavaScript. Они также известны как компоненты без гражданства.
 | ||
| 
 | ||
| ```js
 | ||
| const PageOne = () => { 
 | ||
|     return ( 
 | ||
|         <h1>Page One</h1> 
 | ||
|     ); 
 | ||
|  } 
 | ||
| ```
 | ||
| 
 | ||
| ### Резюме
 | ||
| 
 | ||
| Компоненты класса используются в качестве компонентов контейнера для управления состоянием и переноса дочерних компонентов. Функциональные компоненты обычно используются только для целей отображения - эти компоненты вызывают функции от родительских компонентов для обработки пользовательских взаимодействий или обновлений состояния. |