为什么我的调度对按钮单击事件不起作用?

Abhinav安舒尔

我已经使用ReactJS构建了Trello克隆,其中有4个列,分别称为TODO,DOING,DONE和REJECTED,可以在其中添加卡片。

在一个文件中,我试图映射卡组件并根据定义的虚拟数据渲染属性。

我想做的事?

  • 单击该按钮后,我想删除特定的卡。

我尝试了什么?

  • 我已经在Redux存储中添加了该功能,但是当将onclick事件添加到我的按钮时,我无法访问将触发deleteCard函数的dispatch方法。

我怎么做?

我的TaskboardList.js组件:

import React from "react";
import TaskboardCard from "./TaskboardCard";
import TaskboardActionButton from "./TaskboardActionButton";
import { Droppable } from "react-beautiful-dnd";

const TaskboardList = ({ title, cards, listID }) => {
  return (
    <Droppable droppableId={String(listID)}>
      {provided => (
        <div
          className="taskboardlist_container"
          {...provided.droppableProps}
          ref={provided.innerRef}
          style={styles.container}
        >
          <div className="sub-heading">{title}</div>
          {cards.map((card, index) => (
            <TaskboardCard
              key={card.id}
              index={index}
              text={card.text}
              id={card.id}
            />
          ))}
          <TaskboardActionButton listID={listID} />
          {provided.placeholder}
        </div>
      )}
    </Droppable>
  );
};

const styles = {
  container: {
    backgroundColor: "#eee",
    width: 300,
    padding: "0.5rem",
    marginRight: "1rem",
    height: "100%"
  }
};

export default TaskboardList;

我的TaskboardCard.js组件

import React from "react";
import Card from "@material-ui/core/Card";
import Typography from "@material-ui/core/Typography";
import CardContent from "@material-ui/core/CardContent";
import { Draggable } from "react-beautiful-dnd";
import { connect } from "react-redux";

import { deleteCard } from "../actions";

const TaskboardCard = ({ text, id, index, sample, cardId }) => {
  // handleClickDelete = () => {
  //   // const { dispatch } = this.props;
  //   // dispatch(deleteCard(cardId));
  //   console.log("clicked");
  // };

  return (
    <Draggable draggableId={String(id)} index={index}>
      {provided => (
        <div
          className="taskboard_container"
          ref={provided.innerRef}
          {...provided.draggableProps}
          {...provided.dragHandleProps}
        >
          <Card>
            <CardContent>
              <Typography style={{ fontSize: "1.5rem" }} gutterBottom>
                {text}
              </Typography>
            </CardContent>
          </Card>
          {/* //delete added */}
          <button
            onClick={(cardId, props, sample, dispatch) => {
              //const { dispatch } = this.props;
              dispatch(deleteCard(cardId));
            }}
          >
            DELETE
          </button>
          {/* ////////////////////// */}
        </div>
      )}
    </Draggable>
  );
};

export default connect()(TaskboardCard);

在上述组件中,删除按钮不起作用,因为我无法以某种方式访问​​该调度。

这是我的codeandbox链接,可进一步参考文件https://codesandbox.io/s/github/abhinav-anshul/consensolabs

索艾尔·阿什拉夫(Sohail Ashraf)

onclick事件中删除道具并调度,并添加dispatch组件参数列表。

如果您未在connect()中指定第二个参数,则默认情况下,组件将在porps中接收调度。

import React from "react";
import Card from "@material-ui/core/Card";
import Typography from "@material-ui/core/Typography";
import CardContent from "@material-ui/core/CardContent";
import { Draggable } from "react-beautiful-dnd";
import { connect } from "react-redux";

import { deleteCard } from "../actions";

const TaskboardCard = ({ text, id, index, sample, cardId, dispatch }) => {
  // handleClickDelete = () => {
  //   // const { dispatch } = this.props;
  //   // dispatch(deleteCard(cardId));
  //   console.log("clicked");
  // };
  return (
    <Draggable draggableId={String(id)} index={index}>
      {provided => (
        <div
          className="taskboard_container"
          ref={provided.innerRef}
          {...provided.draggableProps}
          {...provided.dragHandleProps}
        >
          <Card>
            <CardContent>
              <Typography style={{ fontSize: "1.5rem" }} gutterBottom>
                {text}
              </Typography>
            </CardContent>
          </Card>
          {/* //delete added */}
          <button
            onClick={(cardId, sample) => {
              //const { dispatch } = this.props;
              dispatch(deleteCard(cardId));
            }}
          >
            DELETE
          </button>
          {/* ////////////////////// */}
        </div>
      )}
    </Draggable>
  );
};

export default connect()(TaskboardCard);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我的jQuery按钮在单击时不起作用?

来自分类Dev

为什么我的javascript按钮单击不起作用?

来自分类Dev

为什么单击此 JQuery 脚本中的按钮时此单击事件不起作用?

来自分类Dev

为什么单击带有委托事件的按钮不起作用?

来自分类Dev

为什么这个简单的jQuery单击事件不起作用?

来自分类Dev

为什么按钮单击在我的Javascript-html中不起作用?

来自分类Dev

为什么此调度不起作用?

来自分类Dev

为什么单击按钮后重新排序不起作用?

来自分类Dev

WPF按钮单击事件不起作用

来自分类Dev

密谋按钮单击事件不起作用

来自分类Dev

为什么WindowStateChange事件对我不起作用

来自分类Dev

为什么我在WPF中的触发事件不起作用?

来自分类Dev

为什么我的Google事件跟踪不起作用?

来自分类Dev

为什么我的onclick事件不起作用?

来自分类Dev

为什么我的onClick事件不起作用?

来自分类Dev

为什么我的 Chrome 扩展事件不起作用?

来自分类Dev

为什么按钮单击事件在所有版本中都有效,但在 Pie 中不起作用?

来自分类Dev

为什么我的重置按钮不起作用?

来自分类Dev

HTML / JavaScript:为什么我的按钮不起作用?

来自分类Dev

为什么我的按钮组不起作用并显示?

来自分类Dev

为什么我的任何按钮都不起作用?

来自分类Dev

为什么我的重置按钮不起作用?

来自分类Dev

为什么我在Android中的按钮不起作用?

来自分类Dev

为什么我的表单的提交按钮不起作用?

来自分类Dev

您好,为什么我的按钮B不起作用?

来自分类Dev

为什么我的删除按钮不起作用?

来自分类Dev

为什么 onClick 对我的按钮不起作用?

来自分类Dev

当我单击Vue.js中的按钮时,为什么我的警报功能不起作用

来自分类Dev

当我单击Vue.js中的按钮时,为什么我的警报功能不起作用

Related 相关文章

  1. 1

    为什么我的jQuery按钮在单击时不起作用?

  2. 2

    为什么我的javascript按钮单击不起作用?

  3. 3

    为什么单击此 JQuery 脚本中的按钮时此单击事件不起作用?

  4. 4

    为什么单击带有委托事件的按钮不起作用?

  5. 5

    为什么这个简单的jQuery单击事件不起作用?

  6. 6

    为什么按钮单击在我的Javascript-html中不起作用?

  7. 7

    为什么此调度不起作用?

  8. 8

    为什么单击按钮后重新排序不起作用?

  9. 9

    WPF按钮单击事件不起作用

  10. 10

    密谋按钮单击事件不起作用

  11. 11

    为什么WindowStateChange事件对我不起作用

  12. 12

    为什么我在WPF中的触发事件不起作用?

  13. 13

    为什么我的Google事件跟踪不起作用?

  14. 14

    为什么我的onclick事件不起作用?

  15. 15

    为什么我的onClick事件不起作用?

  16. 16

    为什么我的 Chrome 扩展事件不起作用?

  17. 17

    为什么按钮单击事件在所有版本中都有效,但在 Pie 中不起作用?

  18. 18

    为什么我的重置按钮不起作用?

  19. 19

    HTML / JavaScript:为什么我的按钮不起作用?

  20. 20

    为什么我的按钮组不起作用并显示?

  21. 21

    为什么我的任何按钮都不起作用?

  22. 22

    为什么我的重置按钮不起作用?

  23. 23

    为什么我在Android中的按钮不起作用?

  24. 24

    为什么我的表单的提交按钮不起作用?

  25. 25

    您好,为什么我的按钮B不起作用?

  26. 26

    为什么我的删除按钮不起作用?

  27. 27

    为什么 onClick 对我的按钮不起作用?

  28. 28

    当我单击Vue.js中的按钮时,为什么我的警报功能不起作用

  29. 29

    当我单击Vue.js中的按钮时,为什么我的警报功能不起作用

热门标签

归档