programing

Firebase + Vue를 사용하여 웹 앱을 구축할 때 Vuex가 꼭 필요한가요?

goodcopy 2022. 7. 31. 22:17
반응형

Firebase + Vue를 사용하여 웹 앱을 구축할 때 Vuex가 꼭 필요한가요?

저희는 Firebase와 Vue가 있는 레스토랑을 위한 테이크 아웃 주문 웹 애플리케이션을 구축하고 있습니다.

  • 레스토랑은 자체 페이지를 만들고 메뉴 항목을 추가할 수 있습니다.
  • 유저(고객)는, 그 레스토랑 페이지에서 몇개의 음식을 주문해, 나중에 픽업 할 수 있습니다.

프로젝트 시작 시 Vuex 스토어에 임시 데이터(사용자 데이터, 쇼핑 카트 등)를 저장하기로 했습니다.작동은 잘 되지만 복잡한 부분이 많아서 유지보수가 힘들었어요.

최근에 이러한 임시 데이터에도 Firestore를 사용하면 아키텍처를 크게 간소화하여 Vuex를 완전히 제거할 수 있다는 것을 깨달았습니다.

모든 변경을 하기 전에, 저는 제가 올바른 방향으로 가고 있는지, 그리고 아무것도 빠뜨리지 않았는지 확인하고 싶습니다.

Firebase + Vue(또는 React)를 사용하여 비교적 대규모 웹 애플리케이션을 구축한 경험이 있는 분들의 의견과 제안을 부탁드립니다.

단답

네, 아주 합리적인 것 같네요.

장황한 답변

많은 웹 애플리케이션은 Firebase, GraphQL 등의 외부 서비스를 통해 상태를 동기화합니다.이 경우 이미 일종의 UI 독립 공유 캐시(예: Frestore, Apollo 클라이언트)를 사용하고 있을 수 있습니다.앞서 언급한 캐시에 UI 컴포넌트가 쉽게 액세스할 수 없는 경우를 제외하고 데이터를 Vuex로 전환하거나 복제하는 것은 거의 도움이 되지 않습니다.

위의 시나리오에서도 Vuex는 인터페이스에서 연결이 끊긴 컴포넌트 간에 UI 고유의 상태를 추적하는 데 유용한 도구가 될 수 있습니다.예를 들어 사용자의 현재 보기 모드나 열려 있는 모드를 전체적으로 식별할 수 있습니다.

네, VUEX 없이 사용할 수 있지만 잠재력이 제한됩니다.

우선 vuex는 매우 간단하며 코드를 쉽게 추가할 수 있습니다.

Vuex가 없으면 동일한 코드를 여러 번 작성할 수 있습니다.

예를 들어 사용자가 로그인할 때 레스토랑 페이지로 리디렉션하려고 합니다.먼저 사용자가 레스토랑을 가지고 있는지 확인한 후 레스토랑 ID를 얻는 코드를 작성합니다.

또한 사용자가 레스토랑 페이지를 열 때 해당 페이지를 소유할 경우 동일한 코드를 다시 작성합니다.단, 사용자가 소유자인지 여부에 관계없이 값을 반환하는 함수가 있는 경우.원하는 페이지라고 불러도 됩니다.

언급URL : https://stackoverflow.com/questions/61017899/do-we-really-need-vuex-when-building-a-web-app-using-firebase-vue

반응형