반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Instagrame clone
- React
- 조코딩
- ReactNative
- python
- coding
- 크롤링
- 카트폴
- App
- 강화학습
- redux
- 리액트네이티브
- kaggle
- 사이드프로젝트
- expo
- 클론코딩
- clone coding
- 머신러닝
- Ros
- 앱개발
- JavaScript
- 딥러닝
- 정치인
- 강화학습 기초
- 데이터분석
- FirebaseV9
- selenium
- TeachagleMachine
- 전국국밥
- pandas
Archives
- Today
- Total
qcoding
[React_Native_Study_10]React query 사용하여 검색기능 활용 본문
반응형
React query를 활용한 검색기능 구현
1) react query 를 통해 검색기능을 구현할 때
- 1) 사용자가 검색할 query를 <TextInput> 컴포넌트로 전달받아서 어떻게 fetch function에 전달할 것인가?
아래와 같이 useQuery를 사용할 때에
const {isLoading:,data:, isRefetching:}=useQuery(['todos','goMountain'],fetch function)
// fetch runction 내에 info라는 정보를 확인하면 useQuery에서 보내는 'key'값이 들어있다.
fetch function:(info)=>{
fetch().then((res) => res.json())
)
info 에 들어있는 내용 --> 즉 useQuery를 사용할 때 key는 꼭 string 형태가 아닌 배열의 형태 ['todos','goMountain'] 도 가능하므로 Text input으로 받는 query를 배열의 key 형태로 넘겨 준다.
// info 의 내용
Object {
"meta": undefined,
"pageParam": undefined,
"queryKey": Array [
"todos",
],
"signal": AbortSignal {},
}
// 이렇게 query로 받아와서 사용한다.
search:({queryKey})=>{
const [_,query]=queryKey;
return(
fetch(
).then((res) => res.json())
)
- 2) 사용자가 검색을 누르면 fetch function이 작동할 수 있게 할 것 인가 ? (그전까지는 비활성화 상태로만들기)
--> useQuery option에 enabled : false를 주어서 바로 실행이 안되게 한다음에
onSubmitEditing 를 통해서 query 값에 사용자가 입력하고 'search' 버튼을 누를때 refetch() 를 실행 시켜 useQuery를 동작시킨다.
const Search=()=>{
const [query,setQuery]=useState("");
const {isLoaindg,data,refetch}=useQuery(["todos",query],fetch function,
{
enabled:false
});
const onChangeText=(text)=>{setQuery(text)};
const onSubmit = ()=>{
if (query===""){
return;
}
// refetch로 enabled option으로 되어있는 것을 실행해주는 역활을 한다.
refetch();
}
return(
<Container>
<SearchBar placeholder='' placeholderTextColor="grey"
returnKeyType="search" onChangeText={onChangeText} onSubmitEditing={onSubmit}></SearchBar>
</Container>
);
};
export default Search;
반응형
'ReactNative' 카테고리의 다른 글
[ReactNative_study_12]Animated 사용법 및 사용규칙 (0) | 2021.12.11 |
---|---|
[ReactNative_Study_11]무한스크롤 구현 (Flat List & React query) (0) | 2021.12.06 |
[ReactNative_Study_9]React_query (0) | 2021.11.28 |
[ReactNative_study_8]ScrollView / Flat List (0) | 2021.11.28 |
[ReactNative_study_7]Scroll View 사용 (0) | 2021.11.24 |
Comments