+
Top Searches
+ {!isLoading
+ ? // 데이터를 불러오는데 성공하고 데이터가 0개가 아닐 때 렌더링
+ getBoardIsSuccess && getBoard!.pages
+ ? getBoard!.pages.map((page_data: any, page_num: any) => {
+ const board_page = page_data.board_page;
+ //console.log(board_page);
+
+ return board_page?.map((item: any, idx: any) => {
+ if (
+ // 마지막 요소에 ref 달아주기
+ getBoard!.pages.length - 1 === page_num &&
+ board_page.length - 1 === idx
+ ) {
+ return (
+ // 마지막 요소에 ref 넣기 위해 div로 감싸기
+
+
+
+ );
+ } else {
+ return
;
+ }
+ });
+ })
+ : null
+ : arr.map((arr, index) => {
+ return
;
+ })}
+
+ );
+};
+
+export default InitialList;
+
+const ListTitle = styled.h1`
+ font-size: 27px;
+ font-weight: 700;
+ line-height: 20px;
+ letter-spacing: -0.07339449226856232px;
+
+ margin: 0;
+ padding: 21px 10px 21px 10px;
+
+ color: #ffffff;
+`;
diff --git a/src/components/searchPage/SearchBox.tsx b/src/components/searchPage/SearchBox.tsx
new file mode 100644
index 0000000..bd4e16f
--- /dev/null
+++ b/src/components/searchPage/SearchBox.tsx
@@ -0,0 +1,58 @@
+import styled from 'styled-components';
+import useInput from '../../hooks/useInput';
+import { useEffect } from 'react';
+import { useSetRecoilState } from 'recoil';
+import { searchWordState } from '../../states/searchState';
+
+const SearchBox = () => {
+ const search = useInput('');
+ const setSearchWord = useSetRecoilState(searchWordState);
+
+ useEffect(() => {
+ setSearchWord(search.value);
+ }, [search.value]);
+
+ return (
+
+
Top Searches
+ {!isLoading
+ ? // 데이터를 불러오는데 성공하고 데이터가 0개가 아닐 때 렌더링
+ getBoardIsSuccess && getBoard!.pages
+ ? getBoard!.pages.map((page_data: any, page_num: any) => {
+ const board_page = page_data.board_page;
+
+ return board_page?.map((item: any, idx: any) => {
+ if (
+ // 마지막 요소에 ref 달아주기
+ getBoard!.pages.length - 1 === page_num &&
+ board_page.length - 1 === idx
+ ) {
+ return (
+ // 마지막 요소에 ref 넣기 위해 div로 감싸기
+
+
+
+ );
+ } else {
+ return
;
+ }
+ });
+ })
+ : null
+ : arr.map((arr, index) => {
+ return
;
+ })}
+
+ );
+};
+
+export default SearchList;
+
+const ListTitle = styled.h1`
+ font-size: 27px;
+ font-weight: 700;
+ line-height: 20px;
+ letter-spacing: -0.07339449226856232px;
+
+ margin: 0;
+ padding: 21px 10px 21px 10px;
+
+ color: #ffffff;
+`;
diff --git a/src/components/searchPage/SkeletonItem.tsx b/src/components/searchPage/SkeletonItem.tsx
new file mode 100644
index 0000000..2fdfd70
--- /dev/null
+++ b/src/components/searchPage/SkeletonItem.tsx
@@ -0,0 +1,46 @@
+import React from 'react';
+import styled from 'styled-components';
+
+const SkeletonItem = () => {
+ return (
+