
오류1. 수정 페이지에서 console창을 보면 "key" Warining이 발생
<HashTagDiv>
{hobby.length !== 0
? hobby.map((val) => {
{
console.log(val);
}
return (
<HashTag
type="button"
onClick={() => {
dispatch(deleteHobby(val));
}}
key={val}
>
{val}
</HashTag>
);
})
: hobbyTag?.map((val) => {
{
console.log(val);
}
return (
<HashTag
type="button"
onClick={() => {
dispatch(deleteHobby(val));
}}
key={val}
>
{val}
</HashTag>
);
})}
</HashTagDiv>
오류2. 프로필 수정 페이지에서 새로고침이 되면 이전에 설정했던 데이터들이 사라짐
const userInfo = useSelector((state) => state.cards.current);
const [userName, setUserName] = React.useState(
// JSON.parse() 메서드 -> JSON 문자열의 구문을 분석하고, 그 결과에서 JavaScript 값이나 객체를 생성
() => JSON.parse(localStorage.getItem('nick')) || userInfo.userName,
);
const [category, setCategory] = React.useState(
() => JSON.parse(localStorage.getItem('category')) || userInfo.field,
);
const addBtnClick = () => {
...<생략>...
dispatch(editCardProfileDB(formData));
localStorage.removeItem('nick');
localStorage.removeItem('category');
};
React.useEffect(() => {
// e.preventDefault();
dispatch(loadMyCardDB());
// JSON.stringify() 메서드 -> JavaScript 값이나 객체를 JSON 문자열로 변환
localStorage.setItem('nick', JSON.stringify(userName));
localStorage.setItem('category', JSON.stringify(category));
}, []);