2017-01-31 16 views
1

私は、減速機に定義されたプロパティを持つcomponentDidMountからアクションを呼び出していますが、アクションに到達するとそのパラメータは定義されません。ComponentDidMountの小道具を使った呼び出しアクション

const selection = { 
    timespan: "-3660", 
    customTimespan: false, 
    pathIds: [''], 
    source: undefined, 
    direction: 0, 
    appClassIds: [] 
}; 
:これは減速によって返される状態がある

componentDidMount() { 
    this.props.actions.fetchAppClasses(this.props.selection);  
    }  

function mapStateToProps(state, ownProps) { 
    return { 
    selection: state.SDWanSelectionReducer 
    }; 
} 

function mapDispatchToProps(dispatch) { 
    return { 
    actions: bindActionCreators(sDWanActions, dispatch) 
    }; 
} 

:ここに私のコンポーネントで

私は(this.props.selection)プロパティを持つアクション "fetchAppClasses" と呼んでここで、変数「選択」で

は、渡されたパラメータavaivableする必要がありますが、定義されていない:

 export function fetchAppClasses(selection) { 
      return function (dispatch) { 
      var axcfg = { headers: { 'X-Auth-Token': window[config.storageType].token } }; 
      return axios.get(config.apiUrl + '/sdwan/appClasses', axcfg) 
       .then(function (response) { 
       console.log('SDWanActions.fetchAppClasses response:', response); 
       dispatch(fetchAppClassesSuccess(response.data)); 
       })  
      } 
     } 
+0

'fetchAppClasses'を' mapDispatchToProps'とマッピングしましたか?そうでない場合は、ディスパッチを使用してアクションを呼び出す必要があります。 –

+0

はい、私はそれをしました。コードを更新しています。アクションを呼び出しますが、パラメータを送信しません。 –

+1

動作しない場合は、 'fetchAppClasses'の中で** getState **を試すことができます。何かが好きです: 'return function(dispatch、getState){const {selection} = getState()。SDWanSelectionReducer}' – Hosar

答えて

0

fetchAppClasses機能内のAxiosコールの前にreturnを削除してみます。

export function fetchAppClasses(selection) { 
    return function(dispatch) { 
    var axcfg = { 
     headers: { 'X-Auth-Token': window[config.storageType].token }, 
    }; 

    // remove the return axios.get... 
    axios.get(config.apiUrl + '/sdwan/appClasses', axcfg) 
     .then(function(response) { 
     console.log(selection); // this should work now... 
     console.log('SDWanActions.fetchAppClasses response:', response); 
     dispatch(fetchAppClassesSuccess(response.data)); 
     }); 
    }; 
} 
関連する問題