예를 들어 https://github.com/reactjs/redux/tree/master/examples/real-world에 표시된 것과 비슷하게 React + Redux를 사용하여 API와 이야기하고있는 웹 애플리케이션을 빌드하고 있습니다.반응 + redux에서 환원제에 대한 좋은 전략?
내 API는 아티스트, 앨범 및 트랙 목록을 반환하고 해당 아티스트, 앨범 또는 트랙 목록을 쿼리 할 수 있습니다. (/ album/: id,/artist/: id 및/tracks/: id가 추가 된/앨범,/아티스트 및/트랙으로 생각하십시오.)
API 미들웨어를 구현하고 위의 예에서 paginate
감속기를 사용하여 앨범, 아티스트 및 노래 검색을위한 페이지 번호가 지정된 키가있는 저장소를 얻습니다.
이제 단일 객체를 가져 와서 표시하기 위해 단일 호출을 구현하고 싶습니다. 하지만 내 감속기를 다루는 올바른 방법에 대해서는 확신 할 수 없습니다. 여분의 축소 기가있는 combineReducers
artist
, album
및 track
을 관리하고 저장해야합니까?
내가 감속비 관리와 관련된 또 다른 질문은 현재 설정으로 3 개의 paginate
감속기를 보관하고 있으며 각 30 개의 항목이 들어 있습니다. 즉, 나는 거의 100 개의 아이템을 내 가게에 가지고 있는데, 동시에 30 개 아이템이 동시에 표시되는데, 이는 매우 효율적이지 않은 것으로 보인다. 내가 제대로하고 있니?
난 뒤에 아주 큰 API와 실제 오픈 소스 예제를 보였지만, 좀 더 위의 실제 예를보다 정교 예 건너 없습니다 :/
감사합니다!
좋아, 그게 내가 생각하고 있던 것, 확인해 줘서 고마워. 그런 다음 아티스트, 앨범 및 트랙 (기본적으로 '/ 아티스트', '/ 앨범'및 '/ 트랙'보기)의 컬렉션을위한 축소 기가 있습니다. "단수형"뷰 ('/ artist','/ album' 및'/ track')는 어떻게 처리합니까? 그것은 내가 어떤 레포지에서도 결코 볼 수없는 것입니다. 방금 다른 세 개의 감속기를 결합하여 저장하거나 여러 개의 감속기에 값을 저장해야합니까? ''예술가 '? 감사합니다 – Phyks
개인적으로, 저는 각 컴포넌트/컨테이너에 대해 하나의 감속기를 사용합니다. /src에 /부품 - 표현 적 요소 (아무 논리 나 데이터 조작) Artists.jsx Artist.jsx AnotherArtistRelatedComponent.jsx /컨테이너 - 컨테이너 구성 요소 Artist.js /액션 - 액션 ArtistActions.js /이경 소켓 - 감속기 ArtistsReducers.js 이것은 Dan Abramov가 여러 번 제안한 프랙탈 구조입니다. 안녕하십니까, –
음 ... 나에게 분명하지 않은 것이 몇 가지 있습니다. 죄송합니다. 1) 왜 예를 들어 'Artists.jsx'와 'Artist.jsx'가 아닌 'Artists.jsx'라는 컨테이너가 하나만있는가요? 2) 나는 당신의 행동과 감속기를 얻는다. 그런데, 당신의 셋업에서,'Artists.jsx' (컨테이너)는 이후에 호출 될 컴포넌트에 따라'fetchArtists'와'fetchArtist'와 같은 다른 액션을 호출할까요? 그런 다음 상점에 데이터를 저장하는 방법은 무엇입니까? 여러 아이템 ('artist' 뷰) 또는 하나의 아이템 ('artist' 뷰)의 배열을 포함하는 단일'artist' 스토어? 감사! – Phyks