Xplatform์๋ filter ํจ์๋ ์ ๋ง ๋ง ๊ทธ๋๋ก ํํฐ๋ฅผ ๊ฑธ๊ณ , ํด์ ํ๋ ์ญํ ์ ํ์๋ค.
React์์ ๊ฐ์ ์ญํ ์ ํ๋ ๊ฒ ์์๊น, ํ๋ฉฐ ๊ฒ์์ ํด๋ดค์ง๋ง
์๋ฌด๋ฆฌ ์ฐพ์๋ด๋ ์กฐ๊ธ ๋ค๋ฅธ filter ํจ์๋ฐ์ ๋์ค์ง ์์๋ค....
๋ญ ์ด์ฉ๊ฒ ์ด ์จ์ผ์ง.
๋ด๊ฐ ํ์ํ๋ ๊ธฐ๋ฅ์ ๋ค๋ฅธ ๊ฒ์ ๋น์ ํด์ ์ ์ด ๋ณด์๋ฉด
ํ์๋ณ ์ฑ์ ๊ด๋ฆฌ ํ๋ฉด์ ์กฐํ์กฐ๊ฑด์ ํ๊ต / ํ๋ / ๋ฐ / ํ์ ์ฝค๋ณด๋ฐ์ค๊ฐ ์๋ค.
ํ๊ต, ํ๋ , ๋ฐ ์ฝค๋ณด๋ฐ์ค๋ฅผ ํด๋ฆญํ ๋ ๋ง๋ค ํ์ ์ฝค๋ณด๋ฐ์ค ๊ฐ์ด ๋ฌ๋ผ์ ธ์ผ ํ๋ค.
ํ๊ต / ํ๋ / ๋ฐ ์ผ๋ก ํ์์ ์กฐํํ๋ ๊ธฐ๋ฅ์ด ์๋๊ธฐ ๋๋ฌธ์ submit์ ๊ณ์ ๋ ๋ฆฌ๋ ๊ฑด ์ข์ง ์๋ค๊ณ ๋๊ผ๋ค.
๊ทธ๋์ ํ์ ๋ฆฌ์คํธ๋ฅผ ํ๋ฉด ์ผ์ง ๋ ๊ฐ์ ธ์จ ํ์ ํํฐ๋ฅผ ๊ณ์ ๊ฑธ์ด์ ๋ณด์ฌ์ง๋ ๋ก์ง์ ์๊ฐํ๋ค.
๊ทธ๋ฆฌ๊ณ filter์ ํด์ ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ณํ์ง ์๋ ์ด๊ธฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ฐ์ดํฐ์ ์ด ํ์ํ๋ค.
๊ทธ๊ฑธ initStudentList ๋ผ๊ณ ํด์ฃผ์๊ณ , filter๋ฅผ ํตํด ์๋ก ๋ง๋ค์ด์ง๋ ๋ฐฐ์ด์ studentList๋ผ๊ณ ํด์ฃผ์๋ค.
const [initEmpList, setInitEmpList] = useState<Array<any>>([]);
/* ํ๋ฉด ์ผ์ง ๋ ํ์ ๋ฆฌ์คํธ๋ฅผ ๊ฐ์ ธ์จ๋ค */
useEffect(() => {
getInitStudentList();
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
/* ํ์ ๋ฆฌ์คํธ ๊ฐ์ ธ์ค๋ ์ฟผ๋ฆฌ ํธ์ถ */
const getInitStudentList = async () => {
... ์๋ต
setInitStudentList(arrStudentListData);
};
์ฟผ๋ฆฌ ํธ์ถ ํ response ๊ฐ์ arrStudentListData์ ๋ด๊ณ , ๊ทธ ๊ฐ์ initStudentList์ setํด์ค๋ค.
initStudentList์๋ ์ด๋ฐ์์ผ๋ก ๋ฐ์ดํฐ๊ฐ ๋ค์ด์๋ค.
{ school : ํ๋ฒ๋, grade : 1, class : 1, studentId : 1 , studentNm : ํ๊ธธ๋ },
{ school : ์ฅ์คํผ๋, grade : 1, class : 1, studentId : 2 , studentNm : ๊น๊ตญ๋ฏผ }
const { school, grade , class } = searchConditionInfo.orgInfo;
arrStudentList = initStudentList.filter(
(std)=>
(school ? std.school === school : true) &&
(grade ? std.grade === grade : true) &&
(class ? std.class === class : true)
);
}
setStudentList(arrStudentList);
- searchConditionInfo.orgInfo ์๋ ํ์์ ๋ํ ์กฐํ์กฐ๊ฑด์ด ๋ค์ด์๋ค.
- filter๋ถ๋ถ์์ 'std' ๋ถ๋ถ์ ๊ทธ๋ฅ initStudentList์ ๊ฐ๋ค๊ณ ๋ณด๋ฉด ๋๋ค. ์ด๊ฒ ์ฐธ ํท๊ฐ๋ ธ์๋ค..
- school, grade, class๋ ๊ฐ์ด ์์ผ๋ฉด true๋ฅผ ๋ฐํํ์ฌ ํด๋น ์กฐ๊ฑด์ skipํ๊ฒ ํ๋ค.
'Programming > React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ React ] ๊ทธ๋ฆฌ๋์์ ๊ฐ ํฌ๋งท ์ง์ ํด์ฃผ๊ธฐ (AG GRID valueFormatter ์ฌ์ฉ) (0) | 2022.07.15 |
---|---|
[ React ] ๊ฐ์ธ ํ๋ก์ ํธ ๋ฆฌ์กํธ ๊ฐ๋ฐํ๊ฒฝ ์ ํ (0) | 2022.07.14 |
[ React ] React Hook useEffect has a missing dependency warning ์ ๋จ๊ฒ ํ๋ ๋ฐฉ๋ฒ (0) | 2022.07.06 |
[ React ] useState (0) | 2022.06.21 |
[ React ] ํ์ดํ ํจ์ (0) | 2022.06.21 |