reactjs - React Redux 错误类型错误 : sourceSelector is not a function

标签 reactjs redux react-redux

我正在将状态切换为 redux 并遇到此错误

TypeError: sourceSelector is not a function

我已经粘贴了组件中的代码和我正在分派(dispatch)的操作,我认为它在 mapDispatchToProps 中,但不确定

组件

componentDidMount() {
    const { dispatch } = this.props;
    dispatch(getTableData(this.props.apiUrl, this.state.limit, this.state.skip));
  }

const mapStateToProps = ({tableData}) => ({
  tableData,
});

function mapDispatchToProps (dispatch) {
  return {
    getTableData: (data) => dispatch(getTableData(data)),
  }
}

export default connect(
  mapStateToProps,
  mapDispatchToProps,
  { getTableData }
)(SearchableTable);

行动

import * as TYPES from './types';
import axios from 'axios';

export const getTableData = (url, limit, skip) => async dispatch => {
  try {
    dispatch({ type: TYPES.FETCH_TABLE_DATA_LOADING });
    const response = await axios.post(url, {
      limit: limit,
      skip: skip,
    });
    await dispatch({
      type: TYPES.FETCH_TABLE_DATA,
      payload: response.data,
    });
    dispatch({ type: TYPES.FETCH_TABLE_DATA_FINISHED });
  } catch (err) {
    dispatch({ type: TYPES.INSERT_ERROR, payload: err.response });
  }
};

最佳答案

试试这个

import { bindActionCreators } from "redux";
import { connect } from "react-redux";
import { getTableData } from "actions";

componentDidMount() {
  // Make sure you use this.props.getTable data and not the raw imported
  // getTableData function
  this.props.getTableData(this.props.apiUrl, this.state.limit, this.state.skip));
}

const mapStateToProps = state => ({
  tableData: state.tableData
});

const mapDispatchToProps = dispatch =>
  bindActionCreators(
    {
      getTableData
    },
    dispatch
  );

return connect(
  mapStateToProps,
  mapDispatchToProps
)(SearchableTable);

关于reactjs - React Redux 错误类型错误 : sourceSelector is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55386853/

相关文章:

javascript - 在组件外部设置组件状态会导致错误

javascript - 尽管使用目标 ="_blank",但 React Markdown 链接不会在新选项卡中打开

Typescript、ReduxJS 工具包 - createSlice 生成的 reducer 不可分配给类型 'Reducer<unknown, AnyAction>' 的参数

javascript - 功能组件的 mapStateToProps

javascript - React-Redux:在构造函数上调度 -> props.store.state 未更新

javascript - 终极版 ReactJS : How Components have access to the store?

javascript - 如何在 React 中使用 ALERTIFY JS?

javascript - onClick 立即触发

reactjs - 如何从深层嵌套组件访问 Redux 存储

node.js - 后端如何结合react-router和passport有效保护路由