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

home2 게시판 React 게시판 로그인 로직

로그인 로직

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

    신희선
    참가자

    const [loginId,setLoginId] = useState([]);

    const getLogin = async() => {
    let url = http://localhost:5001/user/;
    let respone = await fetch(url);
    let users = await respone.json();
    setLoginId(users)
    }
    useEffect (()=> {
    getLogin();
    }, [])

    이렇게 user (db.json에 있는 유저 데이터)를 useState에 저장 시켜놓고

    const [inputId, setInputId] = useState('')

    <Form.Control
    value={inputId}
    onChange={(e) => setInputId(e.target.value)}
    type="text" placeholder="Id를 입력해주세요" />

    이렇게 ID 입력창 만들어 놓고

    id 입력 값과 user(db.json에 있는 유저 데이터)에 있는 id 값이 일치하면 로그인 할 수 있게 하고 싶은데 어떻게 해야 할까요 ㅠㅠ
    if(inputId === loginId.id) {
    로그인
    }
    이렇게 생각 했는데 안되더라고요 ㅠㅠ

    #32947

    codingapple
    키 마스터

    유저가 입력한게 inputId 여기에 잘 저장되었는지부터 확인해봅시다 

    #32959

    신희선
    참가자

    Console.log(inputId) 했을때 입력값이 잘 나와요!

    #32961

    codingapple
    키 마스터

    그럼 loginId.id 이것도 잘나오는지 확인하면 됩니다 

    #32976

    신희선
    참가자

    console.log(loginId[0].id)

    라고 해야지 결과값이 나오고 console.log(loginId.id)는 안나오는데

    이유가 왜 일까요 ㅠㅠ

    #33013

    codingapple
    키 마스터

    loginId라는 변수가 array자료라서 그런듯요

    #33021

    신희선
    참가자

    어레이 데이터를 없애서 가지고 오는 함수가 혹시 어느것일까요...구글링을 해보는데 어떤건지를 모르겠어요

    #33036

    codingapple
    키 마스터

    서버가 보내주는게 array데이터면 array 그대로 가져올 수 밖에 없습니다 

    그 안에서 loginId[0] 이런 식으로 원하는 데이터만 뽑아서 쓰면 됩니다 

    #33051

    신희선
    참가자

    그럼 데이터가 여러개이고 로그인하는 유저가 입력하는 id랑 데이터랑 일치시킬 수 가 없는건가요?loginId[0] 으로 하면 0번째거랑만 비교 하는것이지 않나요?

    데이터

    [
    "user" =

    {"id" : "sbs2110"},
    { "id":"kbs2110"}

    ]

    이렇게 데이터가 두개 이상일때

    유저가 kbs2110 이라고 id 값을 입력했을때

    LoginId[1].id === 유저가 입력한id 가 아닌

     

    user 데이터 id 전체 중 일치 하는 값이 있으면 로그인 하도록 하는 그런 식으로가 불가능한가요? 어느식으로 만드는지를 모르겠네요

    #33073

    codingapple
    키 마스터

    서버가 아니라 그냥 로컬 json 파일로 작업하는거면 하나씩 다 확인하면 됩니다

    loginId[0].id === 유저가입력한거

    loginId[1].id === 유저가입력한거

    ...

    이중에 하나라도 참이면 로그인시켜주면 되겠군요 반복문돌리면 될듯요 

     

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

About

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

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

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