https://feelvieact.netlify.app/search
케이스별 화면
1. 입력전

2. 입력중

3. 결과없음

4.리스트

0.5초 동안 추가 입력이 없을때에 Api 요청
useEffect(() => {
let delayTimer;
const searchFetch = async () => {
try {
setLoading(true);
setIntro(false);
setSearchNone(false);
const searchValue = await movieApi.search(searchWord);
setSearchList(searchValue.data.results);
setLoading(false);
setSearchNone(searchValue.data.results.length === 0);
} catch (error) {
console.error(error);
}
};
if (searchWord) {
delayTimer = setTimeout(searchFetch, 500);
}
return () => clearTimeout(delayTimer);
}, [searchWord]);
const searchChange = (event) => {
setSearchWord(event.target.value);
if (event.target.value === '') {
setSearchNone(false);
setSearchList([]);
setLoading(false);
setIntro(true);
} else {
setSearchNone(false);
setLoading(true);
setIntro(false);
}
};
뱃지로 타입 구분
