강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của bk
bk

câu hỏi đã được viết

Phát triển ứng dụng web bằng React & Express

Chuyển đổi lại: Bối cảnh | MVC, FLUX

MVC의 문제점을 REDUX가 어떻게 해결해주는지 초보자는 이해하기 어렵습니다.

Viết

·

264

0

안녕하세요 강의 잘 보고 있습니다. Front-end의 MVC에 문제상황이 있다는 건 알 수 있지만 그 문제를 경험해보지 않은 사람들은 강의만 보고 문제를 이해할 수가 없어요 ㅠㅠ 페북의 예는 "문제가 생길 순 있겠다~"정도로 이해가 가지만 정확히 어떤 문제가 있는지가 궁금해지더라구요. 아마도 양방향 바인딩이 이슈인 것 같은데요, 그 부분에 대한 설명이 있다면 이해가 쉬워질 것 같습니다. 만약 이것이 맞다면 이것을 REDUX가 어떻게 해결하는지도 포인트를 다른데 두어야 하는 것 아닌가 해요 양방향 바인딩이 단방향으로 된 부분이 포인트가 아닌가요? 여러개의 모델과 여러개의 뷰 끼리 변화를 주던 것을 한곳에서 통제할 수 있게 되었다는 것도 포인트인 것 같은데요. 확신이 서질 않아서 글 남깁니다.
react

Câu trả lời 1

2

publicvelopert0034님의 프로필 이미지
publicvelopert0034
Người chia sẻ kiến thức

  양방향 데이터 바인딩은 상태가 업데이트되면 뷰가 업데이트되고, 그 반대로 뷰가 업데이트되면 상태가 업데이트 됩니다. AngularJS 1 에서 model 에 변화를 주면 뷰도 자동으로 반영이되죠. 그리고, view 에 있는 input 필드를 수정하면 그 값이 수정이 되는대로 모델의 값이 변합니다.   이러한 구조는 많은 앱에서 제대로 작동하긴 합니다.  흐름을 시각적으로 보자면 이런느낌이죠 뷰 <-----------> 상태   여기서 상태가, 뷰에 의해서 변할수도있고, 컨트롤러에 의하여 변할 수도 있다보니, 가끔씩은 데이터 흐름을 예상하기가 힘듭니다.   하지만 Flux 구조를 사용한다면 state 는 action 을 dispatch를 해야만 업데이트 할 수 있구요, 이 state 에 변화가 있을때마다 자동으로 뷰가 re-render 됩니다.   상태가 같다면, 언제나 같은 결과를 렌더링하겠죠. 따라서, 상태에 따라 어떤 뷰가 보여질지 예상을 할 수 있는 방면, 양방향데이터는 예측할수가없죠. 각각 자신의 model 을 지니고있으니까요.      흐음... 저도 사실 어떻게 설명을 해야 이해하기 쉬울지 모르겠습니다.   머릿속에서 큰그림은 그려지는데 딱 명확하게 설명드리기가 어렵네요.   Redux 의 중요 포인트는 말씀하신대로 1) 단방향 데이터 흐름 2) 한개의 스토어에서 모든걸 관리한다는것 입니다.   컴포넌트들이 부모 - 자식 트리 구조로 이뤄져있고, 객체형태로 store 에 상태가 담겨있기 때문에 궁합이 잘 맞고, 그 store 안의, state 에 따라 언제나 같은 뷰가 생성된다는것 정도만 이해하시고 Redux 를 사용해보시면서,   이 구조가 어떻게 편한지, 혹은 자신에게 잘 안맞는지 판단을 해보시는게 좋을것같습니다 (저는 굉장히 편하다고 생각하는데 사람마다 다르니까요. 저도 처음 사용할때는, 이걸 왜 굳이 사용해야 하나 싶었는데, 개인 프로젝트에서 사용을 해보면서 정말 정말 정말 중요하는걸 깨달았습니다.   궁금증이 조금이나마 해결되었으면 좋겠습니다.     
Hình ảnh hồ sơ của bk
bk

câu hỏi đã được viết

Đặt câu hỏi