얍얍얍
122
2020-11-06 16:35:37 작성 2020-11-06 16:37:31 수정됨
4
132

리액트 고수님들 값이 비교가 안되서 질문드립니다 ㅠㅠㅠ



import React, {useStatefrom 'react';

const Auth = () => {
    
    const myId = {
        userId : "admin",
        pwd    : 12345
    }
    
    const [userId,setUserId] = useState(''); 
    const [userPwd,setUserPwd] = useState(''); 
    const [newAccount,setNewAccout] = useState(false);

    const onChange = (event=> {
        const {target:{name,value}} = event;
        if(name==="userId"){
            setUserId(value);
        }else if(name==="userPwd"){
            setUserPwd(value);
        }
    };
    console.log(myId.userId);
    console.log({userId});
    const onSubmit = (event=>{
        event.preventDefault();
        
        if(myId.userId==={userId}){
            alert("zzzz"); 
        }else{
            alert(JSON.stringify({userId}));
            // alert(JSON.stringify({userId}));
            alert("다릅니다 ㅎ ")
        }
    };

    return (
        <div>
            <form onSubmit={onSubmit}> 
                <input type="text" placeholder="아이디" value={userId} name="userId" onChange={onChange} required />
                <br></br>
                <input type="password" placeholder="비밀번호" value={userPwd} name="userPwd" onChange={onChange} required/>
                <br></br>
                <input type="submit" value={newAccount ? "Create Accout" : "Login"}/>  
            </form>
        </div>
    ); 
};

export default Auth;



아이디랑 비밀번호를 myId 에 담았습니다.


그 후 아이디만 가져와서 입력된 값과 비교하여 alert창을 띄우고 싶었습니다.


그런데 분명 둘다 값이 admin인데도 alert("다릅니다ㅎ") 가 뜨네요;;


각각 

console.log(myId.userId);


console.log({userId});  를 찍어보았는데   


 이렇게 뜹니다 

0
  • 답변 4

  • 반응콩
    57
    2020-11-06 16:37:33

    객체랑 문자열이랑 타입이 같나요...?

  • 김치찌개
    77
    2020-11-06 16:42:41

    myId.userId 는 'admin'이라는 값을 가진 문자열이구요

    userId는 값만 보면 admin을 가지고 있는데 {}로 감싸셨기 때문에 객체가 됩니다.

    감싸지 마시고 userId만 사용해보셔요


    비슷한 오류가 나중에 나오신다면

    Typeof() 안에 넣어서 타입을 확인해보세용

  • 얍얍얍
    122
    2020-11-06 16:48:01

    어렵네여 리액트 ㅠ

    좀더 공부해야겠네요 


    김치찌개님 덕분에 해결했습니다 감사합니다.

  • gredo
    584
    2020-11-06 17:24:05

    몇 달째 JSP 코드 보다가 리액트 보니 프로젝트에서 너무나도 쓰고 싶습니다 ㅠㅠ

  • 로그인을 하시면 답변 을 등록할 수 있습니다.