首页 > 解决方案 > React Redux:警告:未知事件处理程序属性在 mapDispatchToProps 中将被忽略

问题描述

在尝试创建一个简单的 redux 流程时,在尝试调度事件时,我在 mapDispatchToProps 中收到一个错误,指出我声明的函数:“警告:未知事件处理程序属性onProjectCreate。它将被忽略。”

我正在使用带有最新节点/redux 库的材质 UI。

index.js 文件:

import reducer from "./store/reducer";
const store = createStore(reducer, applyMiddleware(thunk));

const app = (
  <Provider store={store}>
    <BrowserRouter>
      <App />
    </BrowserRouter>
  </Provider>
);

reducer.js 文件

import * as actionTypes from "./actions";

const initialState = {
  projects: [
    {
      projectName: "test",
      description: "new description",
      members: "joni@gmail.com",
      projectType: "kanban"
    }
  ]
};

const reducer = (state = initialState, action) => {
  switch (action.type) {
    case actionTypes.CREATE_PROJECT:
      console.log(action.title);
      return {
        ...state,
        projects: {
          ...state.projects
        }
      };

    default:
      return state;
  }
};

export default reducer;

动作.js 文件

export const CREATE_PROJECT = 'CREATE_PROJECT'; 

我使用它的组件

import { connect } from "react-redux";
import * as actionTypes from "../../../../store/actions";

/ simplified component
return (
    <Grid item xs={12}>
      <Button
        onClick={onProjectCreate}
        variant="contained"
        color="primary"
        className={classNames(classes.button, classes.paddingExtra)}
  >
    Create
  </Button>
</Grid>
)

const mapStateToProps = state => {
return {
    projects: state.projects
  };
};

const mapDispatchToProps = dispatch => {
  return {
    onProjectCreate: () => dispatch({ type: actionTypes.CREATE_PROJECT })
  };
};

export default connect(
   mapStateToProps,
   mapDispatchToProps
)(withStyles(styles)(NewProjectDialog));

你对可能发生的事情有任何想法吗?我已经呆了几个小时试图解决这个问题。谢谢你。

标签: reactjsreduxmaterial-ui

解决方案


推荐阅读