3
react/reduxアプリに問題があります。特定のアクションbuildModalForm()
は還元剤にactions/index/
から渡されていません。私はかなり反応して、問題が何であるか分かりません。アクション/インデックスにアクションがレデューサーに渡されない - Redux
class BuildPage extends Component {
componentWillMount(){
this.props.fetchAPIJobs();
this.props.buildModalForm();
}
//....
const mapStateToProps = (state) => {
return {
rowData : state.buildJobs.rowData,
columns : state.buildJobs.columns,
reactView: state.reactView
}
}
const mapDispatchToProps = (dispatch) => {
return {
onFormClick:() => {
dispatch(showModal())
},
onModalClose:() => {
dispatch(hideModal())
},
buildModalForm :() => {
dispatch(buildModalForm())
},
fetchAPIJobs :() => {
fetchAPIJobs(fetchAPIJobs())
}
}
}
export default connect(mapStateToProps, mapDispatchToProps)(BuildPage)
:定数/ actionTypesで
import * as actionTypes from '../constants/actionTypes'
export function buildModalForm(){
console.log("in action creator buildModalForm");
return { type: actionTypes.BUILD_MODAL_FORM }
}
:容器/ buidpageで
減速/ reactViewで
export const BUILD_MODAL_FORM = 'BUILD_MODAL_FORM'
:(接続ルートレデューサーに)
import {
HIDE_MODAL,
SHOW_MODAL,
BUILD_MODAL_FORM
} from '../constants/actionTypes.js'
import {
BUILD_INITIAL_STATE,
ROOT_INITIAL_STATE
} from '../constants/initialStates'
export default function reactView(state = {}, action) {
console.log("in react view reducer :", action.type);
switch (action.type){
case SHOW_MODAL :
return Object.assign({}, state, {modalDisplay: true})
case HIDE_MODAL :
return Object.assign({}, state, {modalDisplay: false})
case BUILD_MODAL_FORM :
return Object.assign({}, state, BUILD_INITIAL_STATE)
default :
return state
}
}
アクション/インデックスにconsole.log
はそのその作用の内側にログインしている、と減速内部ログは、他のアクションの種類を読んでいるが、BUILD_MODAL_FORM
がログに記録されて渡していません。助けが私の感謝します。
他のレデューサーはありますか?あなたは彼らが州を突然変異させないと確信していますか? – VonD
@VonDはい私はいくつかの他のレデューサーを持っていますが、すべてここで示したのと同様のObject.assignを使用します。私はObject.assignが状態を突然変えないという印象を受けましたが、おそらくそれは正しくありませんか? –
これは 'Object.assign({}、state、newData)'に依存しています。しかし、 'Object.assign(state、newData)'はそうです。 – VonD