안녕하세요 선생님 숙제하다가 질문이 생겼읍니다
(해설은 아직 안봤어여.)
function App() {
useEffect(() => {
if (localStorage.getItem('watched') == null) {
localStorage.setItem('watched', JSON.stringify([]));
}
}, []);
function DetailPage(props) {
useEffect(() => {
let get = localStorage.getItem('watched');
let includes = false;
get = JSON.parse(get);
get.forEach((a, i) => {
if (a.id == props.shoes[id].id) {
includes = true;
return;
}
});
includes == false
? get.push({ id: props.shoes[id].id, title: props.shoes[id].title })
: console.log(1);
//뭐라고써야하지..
localStorage.setItem('watched', JSON.stringify(get));
}, []);
1. 위 App컴포넌트에서 조건식을 붙이지 않으면 Detail페이지로 이동했을 때 localstorage가 빈 배열로 초기화되는데..힌트엔 조건식이 없어서..
App컴포넌트도 같이 리렌더링 되는 건지.. 이유가 궁금합니다.
2. JSX가 아닌 자바스크립트에서 삼항연산자 쓸 때 아무것도 안하고싶으면..
비워놔도 안되고 null도 오류나고 뭘 써야 하는지 모르겠어서 console.log(1) 썼는데.. 그냥 if문 쓸까요..?
밑에 그림처럼 상품 이미지 밑에 상품 이름도 넣고 싶어서 localstorage에 넣을 객체를 만들어버렸읍니다
선생님께서 set자료형을 써보라고 하셔서 시도해보다가 궁금한 점이 생겼습니다. 객체는 좀 생각해보니 당연히 안 되더라구여.
3.객체의 중복도 쉽게 해결해줄 수 있는 자료형이 있나요?? 없는 건지 검색해봐도 잘 안 나와서 그냥 노다가 해버렸읍니다
4. const set=new Set([1,2,3]) set={1,2,3} 순서도 없고 키도 없는데 만약 set안에 2를 가져오고 싶으면 어떻게 해야 하나요..?