codestates / codestates/33Plan
서외구 / 2022-03-08 / 메타테스트 기능 구현
- Dominant language
- JavaScript
- Stars
- 2
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Description
### 오늘은 어떻게 프로젝트에 기여했나요?
- 메타테스트 기능 구현
### 오늘의 프로젝트에서 힘든 점은 무엇인가요?
- 넘버타입인 props로 전달된 데이터의 타입이 당연히 넘버타입인줄 알았는데 참조타입으로 되다보니 에러를 발견하는데 여러움이 있었음
```js
import React, { useState, useEffect }from 'react';
import './Metatest.css';
function MetaTestResult ({expactedAnswer, result, handleOpenMetaTest }) {
// 결과 판독 멘트
const [comment, setComment] = useState('')
// 로딩중 표시
const [loading, setLoading] = useState(false);
// 에러 표시
const [error, setError] = useState(null);
// 결과 확인 함수
const metaTestReader = async () => {
try {
setError(null);
// props를 정확하게 사용하기 위해 타입을 변경
if(Number(expactedAnswer) === Number(result)){
setComment('자기 자신을 잘 알고 있습니다.')
} else if(Number(expactedAnswer) < Number(result)){
setComment('현재 과소평가 중 입니다.')
} else {
setComment('현재 과대평가 중 입니다.')
}
setLoading(true);
} catch (e) {
setError(e)
}
const loadingImg = setTimeout(()=>setLoading(false),1000)
return () => { clearTimeout(loadingImg) }
}
useEffect(() => {
metaTestReader();
}, [comment])
if (loading) {
return (
)
}
if (error) {
return
}
return (
<>
자신이 예상스코어
실제 정답스코어
결과
{comment}
닫기
);
}
export default MetaTestResult;
```
### 내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?
- [ ] 로그인 로그아웃 회원가입 마이페이지 기능 모달창이 아닌 페이지 형식으로 바꿈
- [ ] 반응형 웹사이트 만들기 위해 CSS 리팩토링
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.