//옵션 선택 박스 레이아웃
{OPTION_DATA.map(({ id, title, name, option }) => {
return (
<OptionBox key={id}>
<StepNum>Step.{id}</StepNum>
<div>
<Title>{title}</Title>
<OptionWrap>
{option.map((choice, idx) => {
return (
<RadioInputWrap key={idx}>
{choice !== '기타' ? (
<>
<RadioInput
type="radio"
name={name}
value={choice}
onChange={handleInput}
/>
<label>{choice}</label>
</>
) : (
<>
<RadioInput type="radio" name={name} value="" />
<label>{choice}</label>
<EtcInput
type="text"
name="occupation"
placeholder="직접 입력해주세요"
onChange={handleInput}
/>
</>
)}
</RadioInputWrap>
);
})}
</OptionWrap>
</div>
{Object.keys(inputValue).includes(name) && (
<Complete>
<AiOutlineCheck />
완료
</Complete>
)}
</OptionBox>
);
})}
💡 사수님 advice
: 코드가 과도하게 길어지지 않는 한 간단한 레이아웃은 그냥 수동으로 적는 게 나을수도 있다.
괜히 map 돌리다 로직만 복잡해질 수 있음!!
axios 단축 메소드를 사용하다가 삽질한 기록....
카카오 로그인을 구현하면서 백엔드에 access token을 보내주어야 했다.
토큰 전송은 GET, POST 방식 모두 가능한데 백엔드에서 POST로 보내달라고 해서 POST로 보냄!
근데 자꾸 토큰이 안 온다는 것이다 ㅠ___ㅠ 난 분명 토큰을 잘 받아왔고, 잘 찍히고, headers에 담아서 잘 보낸 것 같은데!!!! 뭐가 문제인지 알아보자
axios({
method: "get", // 통신 방식
url: "http://localhost:3000/user/login/kakao", // 서버주소
headers: { Authorization: JSON.stringify(token) } // 헤더
})
method:
뿐! > axios.get(url[, config])
axios.get(
'http://localhost:3000/user/login/kakao',
{
headers: { Authorization: JSON.stringify(token) }
},
);
GET
, DELETE
등은 일반적으로 body가 비어있으므로수정 전 Code 👩🏻💻
> axios.post(url[, data[, config]])
axios.post(
'http://localhost:3000/user/login/kakao',
{
headers: { Authorization: JSON.stringify(token) }
},
);
POST
, PUT
, PATCH
등은 일반적으로 body에 전송할 데이터가 들어가기 때문에수정 후 Code 👩🏻💻
> axios.post(url[, data[, config]])
axios.post(
'http://localhost:3000/user/login/kakao',
{}, ✅
{
headers: { Authorization: JSON.stringify(token) }
},
);