인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

김건희님의 프로필 이미지
김건희

작성한 질문수

배달앱 클론코딩 [with React Native]

리덕스 소개

질문있습니다!

해결된 질문

작성

·

212

1

질문1. 

 

리액트 노드버드 툴킷과 이번 강의에서 리덕스 툴킷 사용법에 차이가 있더라구요. 노드버드에서는 예를 들어 login을 한다고 했을 시 dispatch로 보내주고 action폴더가 따로 있어서 action파일에서 백앤드 요청후  response를 받고 reducer폴더에서 pending. fulfilled, rejected에 따라 상태가 변하더라구요.

 

그런데 이번 프로젝트에서는 로그인시 먼저 axios로 api 백앤드 요청을 다이렉트로 한다음 백에서 받아온 response를 다시 dispatch하고 바로reducer폴더에서 상태관리를 시켜주더라구요. 여기서는 pending. fulfilled, rejected도 없더라구요? 이번 프로젝트에서는 리덕스 툴킷의 사용량이 적어서 이런방식을 적용하신건가요? 아니면 이번 방법이 더 효율적이라서 그렇게 하신건지 궁금합니다!.

 

딱히 실무에서 pending. fulfilled, rejected를 적용할 필요가 없는것인가요?

 

 

질문2.

 

리덕스는 램같은 것이어서 보안에 민감한 데이터를 넣어놔도 된다고 하셨는데, 해커들은 리덕스의 상태와 데이터를 못보나요? 

 

또한 예를들어 실무에서는 리덕스에 어떤 보안에 민감한 데이터를 저장하는 궁금합니다!

 

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

1. createAsyncThunk로 pending, fulfilled, rejected로 만드는 것은 진짜 전역적으로 쓰이는 state에 관한 비동기 action만 그렇게 만듭니다.  이것만 해도 바닐라 리덕스보다는 코드량이 많이 줄지만 reducer들 만드는 것도 코드량이 많은 건 사실이기에 컴포넌트 내에서 해결 가능한 것은 그냥 useState에 axios로 해결하는 겁니다. 

2. 네 일반적으로는 못 보는데 악성 스크립트가 심어져있다면 노출될 위험은 있어 보입니다. 아, 특정 서비스는 데브툴을 프로덕션에서도 오픈해놓는 경우가 있었는데 이런 서비스는 민감한 데이터는 넣어두면 안 됩니다.

김건희님의 프로필 이미지
김건희

작성한 질문수

질문하기