구성 요소에는 onClick이 반입 반입 삭제 요청을 보내는 deleteQuestion 액션을 전달하는 버튼이 있습니다. 응답을 받으면 다른 액션이 호출됩니다. Redux 상점을 갱신하십시오.응답 onClick delete dispatch는 응답을받은 후 두 번째 디스패치 요청을 보내지 않습니다.
그러나 onClick 이벤트이므로 deleteQuestion 썽크 함수는 ComponentWillMount에서 만들어진 일반적인 디스패치 요청처럼 작동하지 않고 대신 절대로 호출되지 않는 디스패치 매개 변수가있는 익명의 함수를 반환합니다. 따라서, 그래서 같이 온 클릭 방법으로 두 번 동시에 파견을 호출 할 필요 해요 :이 방법은, 내가 응답을 받고, 두 번째 파견 레일 백엔드에 삭제 요청을 트리거링을위한 효과적인
handleDelete =() => {
const { questionId } = this.props.match.params
const { history } = this.props
deleteQuestion(questionId, history)(deleteQuestion); //calling method twice
}
동안 (deleteQuestion (questionId)) deleteQuestion 액션에 임베드 한 함수가 Redux 저장소를 업데이트하기 위해 트리거되지 않습니다. 여러 디버거를 저장소에 배치하고 콘솔과 터미널에서 오류를 확인하려고 시도했지만 아무 것도 발생하지 않습니다.
온라인에서 Redux 문서 및 기타 리소스를 통해 읽었으며, .then 요청에서 두 번째 디스패치 호출을 포함 할 수 있어야한다는 것을 알게되었습니다. get, post 및 patch 요청에서이 작업을 수행 할 수는 있지만 삭제 요청에서 작동하지 않는 이유는 알 수 없습니다.
export function deleteQuestion(questionId, routerHistory) {
return (dispatch) => {
fetch(`${API_URL}/questions/${questionId}`, {
method: 'DELETE',
}).then(res => {
dispatch(removeQuestion(questionId))
})
}
}
그리고 github에는 다음과 같습니다 :
내가 할 썽크 호출은 내가 이틀 동안이 통과려고 했어요 나는 정말 어떤 통찰력을 감사하겠습니다 https://github.com/jwolfe890/react_project1/blob/master/stumped-app-client/src/actions/questions.js
지금!
이 구성 요소의 'mapDispatchToProps'모양은 무엇입니까? – topher
작업을 가져온 다음 연결 함수에 포함시킵니다. – Dog
기본 연결 내보내기 (mapStateToProps, {deleteQuestion}) (questionCard); – Dog