10시 10분 기상....
어제 개인과제로 인한 스트레스 때문인지 개운한 느낌을 받으며 지각을 해버렸다
나름 20일 동안 지각안하고 운동도 매일 다녀왔는데 어제는 많이 힘들었나보다.
메인 페이지 평점은 랜덤으로 찍히고 화살표를 누르면 서브페이지로 이동이 가능하다. 서브페이지에는 마우스로 클릭하여 평점을 남길 수 있도록 하였고 평점 남기기 버튼을 누르면 메인 페이지로 갈 수 있도록 구현하였다.
평점을 랜덤으로 찍히게 하는 부분에서 많이 시간을 소요했는데 Math.floor와 Math.random 함수를 사용하여 해결 할 수 있었다.
마우스 클릭은 화살표에 스타일 cusor={"pointer"}을 주었고, Route를 이용하여 서브 페이지로 갈 수 있도록 했다. 평점 남기기를 누르면 메인화면으로 이동하는 것은 react-route-dom의 useHistory에 go.Back 함수로 해결이 가능했다. 그 밖에도 여러가지 구글링을하며 완성시켰지만 이해가 되지 않는 부분도 많아서 다시 코드를 보며 이해하도록 노력해봐야겠다.
다음주에는 리덕스와 firebase를 배우는데 이번 주말에는 공부를 좀 해야겠다..
팀 과제로 키워드를 정하여 질문에 답변하는 과제가 있었는데, 나는 리덕스의 미들웨어에 대하여 맡아 답변하도록 배정 받았다. 리덕스를 잘 모르기 때문에 미들웨어만 공부하여 이해하는 것이 맞나 싶기도 했지만 일단 다음주에 도움이되리라 생각하여 최대한 찾아보고 정리하였다.
*미들웨어는
리덕스가 지닌 핵심기능입니다.
리덕스 미들웨어를 사용하면 액션이 디스패치 된 다음, 리듀서에서 해당 액션을 받아와서 업데이트를 하기 전에 추가적인 작업을 할 수 있다.
추가 작업이란?
1. 특정 조건에 따라 액션
2. 액션을 콘솔에 출력하거나, 서버쪽에 로깅을 할 수 있습니다.
3. 액션이 디스패치 됐을 때 이를 수정해서 리듀서에게 전달되도록 할 수 있습니다.
4. 특정 액션이 발생했을 때 이에 기반하여 다른 액션이 발생되도록 할 수 있습니다.
5. 특정 액션이 발생했을 때 특정 자바스크립트 함수를 실행시킬 수 있습니다.
리덕스 미들웨어는 만들어서 사용할 수 있지만 주로 라이브러리를 설치하여 사용합니다.
관련된 미들웨어 라이브러리에는 redux-thunk, redux-saga, redux-observable, redux-promise-middleware등이 있습니다.