Hooks는 React 16.8에 도입된 강력한 기능으로, 클래스를 작성하지 않고도 state 및 기타 React 기능을 사용할 수 있게 해줍니다.
Hooks는 함수형 컴포넌트에서 state와 다른 React 기능을 사용할 수 있게 해주는 함수입니다. 다시 말해, Hooks는 컴포넌트 간에 상태 저장 로직을 재사용하는 방법입니다. Hooks는 여러 컴포넌트에서 공유할 수 있는 재사용 가능한 코드를 작성할 수 있는 방법을 제공합니다.
React Native에서 가장 일반적으로 사용되는 Hooks 중 하나는 useState Hooks입니다. 이 훅을 사용하면 함수형 컴포넌트에 상태를 추가할 수 있습니다. 다음은 예시입니다
import React, { useState } from 'react';
import { Text, Button } from 'react-native';
const Counter = () => {
const [count, setCount] = useState(0);
return (
<>
<Text>You clicked {count} times</Text>
<Button onPress={() => setCount(count + 1)} title="Click me" />
</>
);
};
export default Counter;
이 예시에서는 React에서 useState 훅을 임포트하고, 이를 사용해 count라는 상태 변수와 state를 업데이트하는 데 사용할 수 있는 setCount라는 함수를 선언합니다. 그런 다음 이 변수를 사용해 현재 카운트를 표시하고 버튼이 클릭될 때 업데이트합니다.
React Native에서 일반적으로 사용되는 또 다른 훅은 useEffect 훅입니다. 이 훅을 사용하면 API에서 데이터를 가져오거나 이벤트에 가입하는 것과 같은 함수형 컴포넌트에서 부수적인 효과를 수행할 수 있습니다. 다음은 예시입니다
import React, { useState, useEffect } from 'react';
import { Text } from 'react-native';
const Timer = () => {
const [time, setTime] = useState(0);
useEffect(() => {
const intervalId = setInterval(() => {
setTime(prevTime => prevTime + 1);
}, 1000);
return () => clearInterval(intervalId);
}, []);
return (
<Text>{time} seconds have elapsed</Text>
);
};
export default Timer;
이 예제에서는 React에서 useEffect 훅을 가져와서 매초마다 상태를 업데이트하는 타이머를 생성합니다. 또한 컴포넌트가 마운트 해제될 때 간격을 정리하기 위해 useEffect 훅을 사용합니다.
Hooks는 함수형 컴포넌트에서 state와 다른 React 기능을 사용할 수 있게 해주는 React의 강력한 기능입니다. Hooks를 사용하면 테스트와 유지보수가 더 쉬운 재사용 가능한 코드를 작성할 수 있습니다. React Native에서 일반적으로 사용되는 몇 가지 Hooks에는 useState, useEffect, useContext, useRef, useCallback, useMemo, useReducer가 있습니다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
http://bit.ly/3Y34pE0