TIL
14_[항해99 3주차 React 심화]_2021.10.09
김쨔뿌
2021. 10. 9. 23:39
오늘의 공부
배열에서 하나 삭제할때
.splice(삭제할 요소의 index, 1)
여기에서 1은 index에서부터 몇번째까지 삭제할지의 설정이며 index값에 맞는 요소는 1번째로 계산된다.
오늘의 작업
리액트 캘린더 개선
- 상세 창에서 일정 하나 삭제시 하위 일정들이 사라지는 문제 해결
- 일정 추가창에서 일시/내용 중 하나라도 입력값이 없을경우 alert 창이 뜨고 dispatch 되지 않음!
- 완료된 일정만 보기/진행중인 일정만 보기 버튼 눌러서 토글
const list = useSelector(state => state.schedule.list);
let onlyIngList = list.filter((event)=>event.done ===false);
let onlyDoneList = list.filter((event)=>event.done ===true);
const [done, setDone] = React.useState(false);
const [buttonText, setbuttonText] = React.useState('> 완료한 일정 보기')
//버튼 클릭시
const seeButton =()=>{
if(done === false){
setDone(true)
setbuttonText('> 진행중인 일정 보기')
}else{
setDone(false)
setbuttonText('> 완료한 일정 보기')
}
}
return(
<React.Fragment>
<FullCalendar
plugins={[dayGridPlugin, interactionPlugin]}
initialView="dayGridMonth"
events={!done?ingList:onlyDoneList}
/>
<button onClick={seeButton}>{buttonText}</button>
</React.Fragment>
)
이렇게 쉬운 방법을 어제 빨리 생각해내지 못했다는게 눈물 난다.
마감에 몰리면 사람이 다급해져서 멍청해지는구나..! 싶어지는 순간.
그리고 어제 분명 일정 삭제시 다른 일정들이 안보이는 현상이 있었는데
왤까, 오늘 시도해보니 된다.
추측상으로는 일정 완료상태로 변경했을때 다른 일정들이 사라지는걸 고치면서 그것도 고쳐진듯?
오늘은 좀..많이 쉬었다. 밀린 잠도 푹 잤고..ㅋㅋ..
내일은 심화 강의 4주차를 쭉 들어봐야겠다! 그럼 2만!