"调度"不是函数错误

时间:2018-01-16 19:29:52

标签: reactjs react-redux

我遇到了redux的问题。我试图从我创建的搜索栏中调度一个值,该搜索栏将获取我输入的客户ID。自动建议正常。控制台日志中的项目(ID号)和值(客户端名称)正确。但我无法将它发送给减速机。我一直在发送"发送"不是函数错误。 Redux是导入的。任何想法?

string.Format

2 个答案:

答案 0 :(得分:2)

尝试这样做。

const mapStateToProps = (state, ownProps) => ({
  clients: state.client.clients
});

const mapDispatchToProps = (dispatch) => ({
  fooAction: (payload) => dispatch(foo(payload)),
  barAction: () => dispatch(bar()),
});

export default connect(mapStateToProps, mapDispatchToProps)(ClientSearch);

此处foo()bar()是已分派的操作,例如方法foo()可以像这样定义和声明。

function foo(payload) {
  return dispatch => SOME_API_METHOD(payload)
   .then(response => {
     dispatch({
       type: 'SOME_COOL_ACTION_NAME',
       info: response
     });
   })
}

有关参考,请查看react-redux以及redux-thunk

答案 1 :(得分:1)

const mapStateToProps = (state) => {
  console.log('map state', state)
  return {

    clients: state.client.clients
  };
};

export default connect(mapStateToProps, dispatch=>bindActionCreators({listClients, fetchClient},dispatch))(ClientSearch);
This should work for you