๐ก์๋ก ๋ฐฐ์ด ๋ด์ฉ
๊ฒ์๊ฒฐ๊ณผ๋ฅผ ํ
์ด๋ธ๋ก ๋ํ๋ด์ฃผ๋ ์ปดํฌ๋ํธ๋ฅผ ์์ฑ์ค filter์ ์ฌ๋ฌ ์กฐ๊ฑด์ ์ ์ฉ์์ผ์ ๊ฐ๋
์ฑ ์ข๊ฒ ์ฌ์ฉํ ์ ์์๊น ๋ผ๋ ์๊ฐ์ด ๋ค์๊ณ
์๋์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋ค.
์ฌ์ค ์ด๋ ๊ฒ ์จ๋๋๋๊ฑด์ง ๋ชจ๋ฅด๊ฒ ์ด์ ์ฝ์น๋๊ป ํ๋ฒ ์ฌ์ญค๋ด์ผํ ๊ฒ ๊ฐ๋ค ์ํฐํจํด์ด๊ฑฐ๋ ๊ตฌ๋ฆฐ ์ฝ๋๋ผ๋ฉด ๋ ๋์ ์ฝ๋๋ก ๋ฐ์ ์ํฌ ์ ์๋๋ก
Filter์ ์ฌ๋ฌ์กฐ๊ฑด ์ ์ฉ
const UserTable = () => {
const searchUserInfo = useRecoilValue(searchedUserInfo)
const filterSearchUser = (data: ISearchedUser) => {
if (data.userID === '' && data.userNumber === 0 && data.date.start === '' && data.date.end === '') return []
const matchId = (targetId: string) => {
const { userID: idKeyword } = data
if (idKeyword === '') return true
if (targetId.includes(idKeyword)) return true
return false
}
const matchDate = (targetDate: string) => {
const { date: dateKeyword } = data
if (dateKeyword.start === '' && dateKeyword.end === '') return true
if (
targetDate >= dayjs(dateKeyword.start).format('YYYY-MM-DD') &&
targetDate <= dayjs(dateKeyword.end).format('YYYY-MM-DD')
)
return true
return false
}
const matchMemberSeq = (targetSeq: number) => {
const { userNumber: memberSeqKeyword } = data
if (memberSeqKeyword === 0) return true
if (memberSeqKeyword === targetSeq) return true
return false
}
const userData = userLoginDataJSON.filter((user) => {
return matchId(user.id) && matchMemberSeq(user.member_seq) && matchDate(user.create_date)
})
return userData
}