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

home2 게시판 React 게시판 localstorage 데이터가 지워집니다.

localstorage 데이터가 지워집니다.

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

    강병민
    참가자

    import React, { useEffect, useState } from "react";
    import "./App.css";
    import axios from "axios";
    import styled from "styled-components";

    function App() {
      localStorage.setItem("searchList", JSON.stringify([]));

      const [value, setValue] = useState("");
      const handleInput = (e) => {
        setValue(e.target.value);
      };

      const submit = (e) => {
        e.preventDefault();
        let findItem = localStorage.getItem("searchList");
        findItem = JSON.parse(findItem);
        findItem.push(value);
        localStorage.setItem("searchList", JSON.stringify(findItem));
      };
      return (
        <div className="App">
          <button onClick={test}>클릭하면 기사 나옴</button>
          <form onSubmit={submit}>
            <input type="text" onChange={handleInput} value={value} />
            <button type="submit">localStorage에 저장</button>
          </form>
          {value}

        </div>
      );
    }

    function Card({ title }) {
      return <>{title}</>;
    }

     

    input에 값을 입력하고 submit 하면 로컬스토리지의 배열에 입력한 값이 저장되게 하고 싶은데, 새로고침을 하면 값이 전부 사라집니다. 어떻게 해야 할까요?

    localStorage.setItem("searchList", JSON.stringify([]));  맨 위에 이 코드 때문에 로드 될때마다 새로 만들어져서 그런것 같은데,, 어떤방법이 있을까요,,?

    #36208

    codingapple
    키 마스터

    로컬스토리지 searchList 항목에 뭐가 이미 있으면 

    localStorage.setItem("searchList", JSON.stringify([])); 

    하지말라고 if문 넣으면 되겠군요 

    #36225

    강병민
    참가자

    해결했음다 감사합니다

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

About

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

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

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