문제 개요redux-thunk 작업에 전달할 수있는 데이터 유형은 무엇입니까?
I는 REDUX 형태를 사용하고 있으며 내를 compoent를 래핑하고, 등록 변화 형태를 변경하기위한 결합 기능()이다로 제공한다. 나는 이것을 actionCreator에서 호출하려고했다.
난 그냥 내 actionCreator 썽크에 전달할 수 있지만이 값이 작업의 파견에 제거되는 것 같다 생각
문제.
세부 내가 대신 바운드 행동을 내가 act.setFMEPATH라는 내 다른 actionCreators 중 하나에 대한 포인터를 보내는 대신 시도 변화을 보내는했지만 그 또한 작동하지 않습니다 그래서
.
아래 첫 번째 그림에서는 redux-action에 대한 dispatach가 발생하기 전의 변수 상태를 보여줍니다. 시계에서 볼 수 있듯이 act.setFMEPath가 명확하게 정의되어 있습니다.
두 번째 그림에는 입력 될 때의 동작 상태가 표시됩니다. defaultPath는 정의되어 있습니다 (스택의 클로저에 범위가 지정되어 있지만 storeAct입니다).
내 코드에서는 매개 변수 storeAct가 표시되지 않으므로 STORE.dispatch (Act.setFMEPath (filePath [0])를 하드 코딩하고 있지만 원하는 것은 STORE.dispatch (storeAct (filePath [0]))입니다.
나는 (그 일을하지 않을 수 있도록하지만,이 화살표 기능입니다 주) 파견 (에 첫 번째 매개 변수의 컨텍스트를 바인딩)와 바인딩 기능에 storeAct()를 돌려되어야합니다.
전화 전 상태 :
pickFile 액션 창조자의주 항목
질문에 답변을 드릴 수있을만큼 충분한 정보를 제공하지 못했습니다. pickFolder는 함수이므로 일반적으로 전달할 수있는 모든 것을 전달할 수 있습니다. 그것이 pickFolder에서 정의되지 않은 경우 호출자에서 정의되지 않았기 때문입니다. –
@ 라디오 - 당신이 맞습니다. 내일 메인 인물에 대한 자세한 내용을 인라인으로 추가하겠습니다. 그러나 기본적으로 호출자에서 디스패치가 호출 될 때 디버거에서는 Act.setSourcePath가 함수에 바인딩되어 있음을 보여줍니다. 그러나 수신기 * (PickFolder 작업)에 들어가면 대상 매개 변수가 정의되지 않습니다. 그러나 defaultPath는 여전히 문자열입니다. 이것은 redux-thunk 버그입니까? –
@ Radio- 필자는 더 자세한 내용을 기록했지만, 질문의 제목을 변경하여 새로운 메모를 작성한다는 사실을 깨닫지 못했습니다. 결과는 https://stackoverflow.com/questions/43895229/redux-dispatchtoprops-dispatch-loses-context-and-arguments-when-getting-to-act –