2017-12-08 7 views
1

나는 경로를 <App>의 소품으로 사용하는 동적 라우터를 사용하고 있습니다. 기본적으로 모든 경로는 차단되며 사용자는 Payments으로 이동할 수 있습니다.Redux - Redux를 통해 부모 소품을 업데이트 하시겠습니까?

몇 레벨 아래에 나는 <Payments>이 있습니다. 첫 번째 지불을 할 후에는 한마디로, 전체 응용 프로그램에 액세스 할 수 있어야합니다 :

<App> -> <OtherComponent> -> <OtherComponent> - <Payments> 

내가 (<App> 감속기에 REDUX 상태를 변경하고 <App> 소품을 변경할 것 <Payments> (손자)에서 작업을 파견 할 조부모), 어떻게 처리합니까? 내가 아는 한, <Payments>에 mapStateToProps 만 허용되지만 라우터는 <App>에 있습니다.

저는 기본 반응 라우터를 사용 중이며 다른 어떤 것으로 바꾸지 않을 것입니다 (예 : react-redux-router). 나는 내가 돌아 오는 부분은 바로 것 같아

+1

전체 응용 프로그램 상태에 액세스 할 수있는 모든 구성 요소 및 상태를 업데이트 할 수있는 작업을 파견 할 수있는 관련 구성 요소를 가져올 것입니다, 즉, redux 저장소를 사용하여 구성 요소 상태의 아름다움 –

+1

당신은 모든 구성 요소 내부에있는 ''구성 요소는 모든 구성 요소의 상태를 소품으로 매핑합니다. 그것은 실제로 당신이 redux를 사용하는 이유입니다. 따라서 상태를 변경하고' '구성 요소를 연결하는''구성 요소에 작업을 보내면됩니다. – trixn

+0

혹시 몇 가지 예를 들어 주시겠습니까? 내가 반응 - redux 사용 connect() 아직 위의 구성 요소에 소품 전달하는 방법을 모르겠다. 내 App 및 Payments 구성 요소는 별도의 축소기를 사용합니다. – Wordpressor

답변

1

, 내가 가지고있는 문제 나 내가 달성하고자하는 일을하는 것이 쉬워요 것이 하나 개의 큰 평면 상태 CombineReducers,하지만 난 내 상태 같은 느낌 이제는 실제로는 전역이 아니지만 3 개의 다른 감속기 사이에서 나뉘며 그들은 서로 액세스 권한이 없습니다.

여러 감속기에서 동일한 동작을 안전하게들을 수 있습니다. 그렇게하는 것도 좋은 습관입니다. 상점 여러 곳에서 영향을주는 조치를 상상해보십시오. 모든 중첩 구조에는 자체 감속기가 있으므로 여러 감속기에서 해당 동작을 청취해야합니다. 그건 아주 괜찮아요.