在React的onClick函数中传递事件对象

亚当·怀特

我有一个React应用程序,在其中单击列标题时,该表对数据进行排序(通过合并排序)。

我想传递数据(即对象数组)和事件对象。我想使用事件对象来获取单击的列的值,以便随后使用它对数据进行排序。

但是,我不断收到一条错误消息,指出未定义事件对象。

以下是代码的相关部分:

  sortColumn (siteArr, evt) {
    if (siteArr.length < 2) {
      return siteArr;
    } else {
      const column = evt.target.value; // evt returns undefined
      const midPoint = Math.round(siteArr.length / 2);
      const subLeft = this.sortColumn(siteArr.slice(0, midPoint));
      const subRight = this.sortColumn(siteArr.slice(midPoint));
      return this.merge(column, subLeft, subRight); 
    }
  }
  merge (column, left, right) {
    const out = [];
    while (left.length && right.length) {
      out.push(left[0][column] <= right[0][column] ? left.shift() : right.shift());
    }
    while (left.length) {
      out.push(left.shift());
    }
    while (right.length) {
      out.push(right.shift());
    }
    this.setState({sites: out});
    return out;
  }
  render () {
    const siteArr = this.state.sites;
    const sites = this.state.sites.map((site) => {
      return (
          <Site site={site} key={site.id} /> 
        );
    });
    const site_number = sites.length;
    return (
        <div>
          <table>
            <thead>
              <tr>
                <th><a onClick={(evt) => this.sortColumn(siteArr, evt)}>Name</a></th>
                <th><a onClick={(evt) => this.sortColumn(siteArr, evt)}>City</a></th>
                <th><a onClick={(evt) => this.sortColumn(siteArr, evt)}>State</a></th>
              </tr>
            </thead>
            <tbody>
              {sites}
            </tbody>
          </table>
        </div>
    );
  }

a)如何将事件对象传递给sortColumn函数?

b)如何通过事件对象访问列值?

感谢您的任何帮助,您可以提供!

z

对于您的情况,因为您已经知道文本值是什么,只需将其传递给函数即可:

() => this.sortColumn(site‌​Arr, 'Name')

但是,如果要获取目标的innerText值,则使用的是:

event => this.sortColumn(siteArr, event.target.innerText)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在React的onClick函数中传递事件对象

来自分类Dev

在onClick事件函数调用中传递“ this”

来自分类Dev

在javascript函数中传递事件对象

来自分类Dev

函数未在React中调用onclick事件

来自分类Dev

在 React 的 onClick 函数中传递数据

来自分类Dev

如何在onClick事件的函数中传递参数

来自分类Dev

无法在onclick事件处理程序中传递参数-React

来自分类Dev

如何将参数传递给过滤器方法并使用不同的参数在 React onClick 事件中调用函数?

来自分类Dev

React中的OnClick事件

来自分类Dev

通过Ruby On Rails中的jquery的onclick函数传递对象的ID

来自分类Dev

通过Ruby On Rails中的jquery的onclick函数传递对象的ID

来自分类Dev

如何将事件对象传递给 React 事件处理函数?

来自分类Dev

ReactJS在onClick内部传递对象而不是函数

来自分类Dev

如何将字符串参数传递给按钮onclick事件中的函数

来自分类Dev

Blazor:如何将事件传递给通用组件中的onClick函数

来自分类Dev

React.JS - 在 `onClick` 事件上调用函数会导致 `this` 在函数中未定义

来自分类Dev

错误传递函数onClick in react

来自分类Dev

使用 onClick 函数 React 传递 id

来自分类Dev

在构造函数中传递对象

来自分类Dev

使用对象中的值添加onclick事件

来自分类Dev

如何在ReactJS的onClick事件上将参数传递给函数

来自分类Dev

将数据 onClick 事件传递给循环中的函数

来自分类Dev

React-从单独的onSubmit和onClick事件中调用相同的函数

来自分类Dev

函数不适用于 React.js 中的 onClick 事件

来自分类Dev

React:为什么在 onClick 事件中调用函数时参数为空?

来自分类Dev

在对象的构造函数中传递对象

来自分类Dev

在需要函数的事件中如何传递参数?

来自分类Dev

无法在HTML onClick函数中传递参数

来自分类Dev

对于使用MaterialUI和Typescript在React中传递给onKeyPressed函数的事件,哪种类型合适?

Related 相关文章

  1. 1

    在React的onClick函数中传递事件对象

  2. 2

    在onClick事件函数调用中传递“ this”

  3. 3

    在javascript函数中传递事件对象

  4. 4

    函数未在React中调用onclick事件

  5. 5

    在 React 的 onClick 函数中传递数据

  6. 6

    如何在onClick事件的函数中传递参数

  7. 7

    无法在onclick事件处理程序中传递参数-React

  8. 8

    如何将参数传递给过滤器方法并使用不同的参数在 React onClick 事件中调用函数?

  9. 9

    React中的OnClick事件

  10. 10

    通过Ruby On Rails中的jquery的onclick函数传递对象的ID

  11. 11

    通过Ruby On Rails中的jquery的onclick函数传递对象的ID

  12. 12

    如何将事件对象传递给 React 事件处理函数?

  13. 13

    ReactJS在onClick内部传递对象而不是函数

  14. 14

    如何将字符串参数传递给按钮onclick事件中的函数

  15. 15

    Blazor:如何将事件传递给通用组件中的onClick函数

  16. 16

    React.JS - 在 `onClick` 事件上调用函数会导致 `this` 在函数中未定义

  17. 17

    错误传递函数onClick in react

  18. 18

    使用 onClick 函数 React 传递 id

  19. 19

    在构造函数中传递对象

  20. 20

    使用对象中的值添加onclick事件

  21. 21

    如何在ReactJS的onClick事件上将参数传递给函数

  22. 22

    将数据 onClick 事件传递给循环中的函数

  23. 23

    React-从单独的onSubmit和onClick事件中调用相同的函数

  24. 24

    函数不适用于 React.js 中的 onClick 事件

  25. 25

    React:为什么在 onClick 事件中调用函数时参数为空?

  26. 26

    在对象的构造函数中传递对象

  27. 27

    在需要函数的事件中如何传递参数?

  28. 28

    无法在HTML onClick函数中传递参数

  29. 29

    对于使用MaterialUI和Typescript在React中传递给onKeyPressed函数的事件,哪种类型合适?

热门标签

归档