• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 React 게시판 localStorage 질문입니다.

localStorage 질문입니다.

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #9431

    강성구
    참가자

    import './App.css';
    import React, { useEffect, useState } from 'react';

    function Change() {
      const [따봉, 따봉변경] = useState(
        () => JSON.parse(localStorage.getItem("따봉")) || 0 
      );
      
      useEffect( () => {
        localStorage.setItem("따봉", JSON.stringify(따봉));
      }, [따봉]);

      function 정렬하기() {
        const newArray2 = [...글제목];
        글제목변경(newArray2.sort());
      }

      const [글제목, 글제목변경] = useState(['논산', '강남', '동대문']);

      function 제목바꾸기() {
        const newArray = [...글제목];
        newArray[0] = '삼성';

        localStorage.setItem("here", JSON.stringify(newArray));
        글제목변경( JSON.parse(localStorage.getItem("here")) );
      }

      return (
        <div className="App">
          <div className="black-nav">
            <div>hello world</div> 
          </div>
          <button onClick={ 제목바꾸기 }> 버튼1 </button>
          <button onClick={ 정렬하기 }> 버튼2 </button>

          <div className="list pointer">
            <h3 className="pointer"> 
              {글제목[0]}
              <span onClick={ () => { 따봉변경(따봉+1)}} > ? </span> {따봉} 
              <span onClick={ () => { 따봉변경(따봉-1)}} > ? </span>
            </h3>
          </div>
        </div>
      )
    }

    export default Change;

    /////////////////////////////

    사진첨부 기능이 있었으면 더 보시기 편하셨을텐데 일단 급한데로 붙여넣기 할게요!

    버튼 1을 눌렀을 때 논산 글자가 삼성으로 바뀌면서 새로고침을 해도 그대로 남기고싶은데 계속 처음으로 돌아가네요.

    버튼을 눌렀을때에 대한 setItem은 성공했는데 글자 바꾸기를 한 거에 대해선 어떤식으로 setItem, getItem해야하는지 자문 구합니다.

    감사합니다.

    #9435

    codingapple
    키 마스터

    사이트 혹은 컴포넌트 로드시 로컬스토리지에 있던 here을 불러와서 글제목이라는 state에 집어넣으면 됩니다 

    그러려면 useEffect만들고 거기 안에다가 getItem() 하고 글제목 state에 집어넣으시면 될듯요? 

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠