Redux에서 Action Creator 내 전역 스토어 상태에 액세스하는 것은 논쟁의 여지가 있는 주제일 수 있습니다. 여기서는 액션 생성자의 상태 액세스에 대한 두 가지 접근 방식을 조사하고 그 장단점을 살펴보겠습니다.
import store from '../store'; export function someAction() { return { type: SOME_ACTION, items: store.getState().otherReducer.items, } }
이 방법은 스토어를 직접 가져옵니다. 모듈에서 내보낸 싱글톤. 기능적이지만 서버 렌더링 제한으로 인해 요청당 별도의 저장소가 필요한 경우가 많기 때문에 권장되지 않습니다.
export function someAction() { return (dispatch, getState) => { const {items} = getState().otherReducer; dispatch(anotherAction(items)); } }
이 접근 방식은 권장 기술인 Redux Thunk 미들웨어를 활용합니다. Thunk를 사용하면 액션 생성자가 일반 액션 객체 대신 함수를 디스패치하여 디스패치 및 getState 함수에 대한 액세스를 제공할 수 있습니다. 미들웨어가 필요하지만 클라이언트 측 렌더링과 서버 측 렌더링 모두에서 원활하게 작동합니다.
궁극적으로 최선의 접근 방식은 개별 애플리케이션 요구 사항에 따라 다릅니다. 이상적으로는 작업에 최소한의 정보가 포함되어야 합니다. 그러나 필요한 경우 액션 생성자에서 getState를 사용하는 것은 허용됩니다. 두 접근 방식의 장단점을 고려하고 프로젝트에 가장 적합한 접근 방식을 선택하세요.
위 내용은 Redux Action Creators의 상태 액세스는 언제 귀하에게 적합합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!