inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

코드로 배우는 React 19 with 스프링부트 API서버

로그인 슬라이스

input box에 데이터 입력후 확인 버튼 누르고 input 데이터 수정하면 오류 발생 ...

118

just kim

작성한 질문수 27

1

안녕하세요 Redux 수업 다 듣고 이해 되지 않아서 따로 프로젝트를 뽑아서 Redux를 연습 하고 있어요...

일단 이해는 다된거 같아요...

아래 dispatch 하는 부분에서 오류가 뜨네요..

먼저 처리 순서가 ... input에 데이터를 입력하고 로그인 버튼을 클릭하고 다시 input에 데이터를 입력하면 오류가 뜨네요

cannot assign to read only property 'current' of object '# object '

버튼 클릭하는 부분에 dispatch하는 내용을 넣었구요..

구글에는 깊은 복사 뭐 이런거 있던데 그거랑 관련 없는거 같구...

 

===================================

리듀스 기본을 알면 저 문제 해결될꺼라는 어떤분의 답변이 야속하네요 ...

 

코드 시작

=============================

import { useState } from "react";
import { useDispatch } from "react-redux";
import {login} from "../slices/loginSlice"

const initState = {
    email:'',
    password:''
}

function LoginComponent(props) {

    const [loginParam, setLoginParam] = useState({...initState})

    const disPatch = useDispatch()

    const handleChange = (e)=> {
        loginParam[e.target.name] = e.target.value
        setLoginParam({...loginParam})
    }

    const handleLoginClick = (e)=>{
        console.log(".......")
        disPatch (
            login(loginParam)
        )
    }

    const handleLogoutClick = (e)=>{
        disPatch(
            login(initState)
        )
    }

    return (
        <div>
            <div className="flex flex=nowrap gap-x-8 place-content-center ">
                <div>
                    <div> login </div>
                    <div>
                        <input className="text-base w-300 p-6 rounded-r border border-solid border-neutral-500 shadow-md" 
                        name="email" type ={'text'} value={loginParam.email} onChange ={handleChange}>
                        </input>
                    </div>
                    <div>
                        <input className="text-base w-300 p-6 rounded-r border border-solid border-neutral-500 shadow-md"
                        name="password" type={'password'} value={loginParam.password} onChange={handleChange}
                        >
                        </input>
                    </div>
                    <div>
                        <button className = "rounded p-4 w-36 bg-blue-500 text-xl text-white"
                         onClick={handleLoginClick}
                        >
                            Login..
                        </button>
                    </div>
                </div>
                <button onClick={handleLogoutClick}>
                    logout
                </button>
            </div>
        </div>
    )
}

export default LoginComponent;

 

 

=============================

react spring-boot jpa jwt redux-toolkit

답변 1

1

구멍가게코딩단

현재 질문에 올려두신 코드의 내용 자체의 문제는 아닌듯 합니다.

 

loginSlice에서 구현된 코드에서 기존의 상태를 수정하는 부분이 있으면 'cannot assign.. ' 메시지가 뜨게 됩니다.

 

0

just kim

일단 다시 연구 해서 찾긴 했는데 또다른 연구가 필요하겠네요..

    const handleChange = (e)=> {
        loginParam[e.target.name] = e.target.value
        console.log(loginParam)
        setLoginParam({...loginParam})
    }

    // const handleLoginClick = (e)=>{
    //     console.log(".......")
    //     disPatch (
    //         login({loginParam})
    //     )
    // }

    const handleLoginClick = (e)=>{
        console.log(".......")
        disPatch (
            login({...loginParam})
        )
    }

login({... <== 이거 ...을 붙이니깐 문제가 없어 지네요..

... 연산을 제가 모르고 강의 공부를 진행했던게 이렇게 터졌네요...

그냥 ...은 배열을 통채로 복사 하는 정도로만 알았네요..

... 연산은 구글에도 잘 안보이구 .

문법에 import {000} from 이랑 import 000 from이랑도 문법이 다르고 ...( {} 안해서 오류가 나 꽤나 고생했음) 기분 상함 ..

 

0

구멍가게코딩단

네 은근히 헷갈리는 문법들이 많습니다

동일하게 실습하는데 이상하게 페이지를 찾지 못하네요..

0

74

2

22. REST 방식 컨트롤러 만들기(2), 29. 등록처리 부분 질문이 있습니다.

0

74

2

37강. 강의수업듣다 질문드립니다.

0

57

2

TodoDTO test 함수

0

80

3

강사님 오타 있음요

0

78

2

No 1. 교제(ppt) soruce 복붙 문제 의 건

0

95

4

No 1. 교제(ppt) soruce 복붙 문제 의 건

0

70

3

17강 문의드립니다.

0

44

1

카카오 연동설정이 이제 안되는거 같아요

0

194

2

8장 마지막 강의 시 오류

0

98

4

혹시 뭐가 문제인지 알 수 있나요?

0

87

2

챕터: React-Router 설정

0

58

2

백)TODO관련

0

56

2

마리아 db 설치중 포트를 이미 사용중이라고 합니다

0

112

2

이강의 듣고 소화시켰다면 몇년차 정도 개발자라고 할수 있을까요?

0

105

1

CSR , SSR 의 수요 궁금증 질문

0

83

2

섹션5부터...

0

73

1

간단한 코드 질문!!

0

61

2

tbl_todo 질문입니다

0

65

2

수업 외 질문인데 'tbl'이 무슨 의미인가요???

0

292

2

엔티티클래스에서 질문입니다

0

78

2

수정시 writer값이 삭제되는 오류

0

42

2

교안 31 오타 수정해주세요

0

64

2

쿠키에 accessToken, refreshToken을 담고, 조회 시에 undefined

0

80

1