npm 包 react-event-names 使用教程

在 Web 开发中,常常需要使用事件来操作元素,而 React 作为一款流行的前端框架,也提供了丰富的事件机制。但是,在实际开发中,很容易遇到一些事件的名称不知道该怎么写,这时候,我们就需要使用一个 npm 包:react-event-names。

react-event-names 简介

react-event-names 是一个 npm 包,它提供了 React 所有事件的名称,包括合成事件和原生 DOM 事件。使用它可以帮助我们准确地书写事件名称,避免出现拼写错误、大小写错误等问题。

安装 react-event-names

使用 npm 安装 react-event-names:

--- ------- -----------------

使用 react-event-names

在组件中引入 react-event-names:

------ ----- ---- --------
------ ---------- ---- --------------------

----- ----------- ------- --------------- -
  ------------- -
    ------------------ -------
  -

  -------- -
    ------ -
      -------
        --------------------------
        ------------------------------------
      -
        ----- ---
      ---------
    --
  -
-

上述代码中,我们在组件的 render 方法中使用了 onClickonTouchStart 事件。这两个事件名称都是在 eventNames 中定义的,使用时只需要从 eventNames 中引入即可,例如:

------ ----- ---- --------
------ ---------- ---- --------------------

----- ----------- ------- --------------- -
  ------------- -
    ------------------ -------
  -

  ------------------ -
    ----------------------- -------
  -

  -------- -
    ------ -
      -------
        --------------------------
        -------------------------------------------------
      -
        ----- ---
      ---------
    --
  -
-

在这个示例中,我们使用 {eventNames.onTouchStart} 来代替了 onTouchStart 事件名称,这样可以避免写错事件名称。

合成事件和原生 DOM 事件

react-event-names 包含了 React 所有的合成事件和原生 DOM 事件,我们可以通过 eventNames 对象来获取它们的名称。

合成事件

React 提供了一些合成事件(SyntheticEvent),它们是跨浏览器兼容的,对于不同的浏览器,React 会自动选择最佳的事件实现。以下是 react-event-names 中定义的合成事件:

  • onCopy
  • onCut
  • onPaste
  • onCompositionEnd
  • onCompositionStart
  • onCompositionUpdate
  • onKeyDown
  • onKeyPress
  • onKeyUp
  • onFocus
  • onBlur
  • onChange
  • onInput
  • onSubmit
  • onClick
  • onContextMenu
  • onDoubleClick
  • onDrag
  • onDragEnd
  • onDragEnter
  • onDragExit
  • onDragLeave
  • onDragOver
  • onDragStart
  • onDrop
  • onMouseDown
  • onMouseEnter
  • onMouseLeave
  • onMouseMove
  • onMouseOut
  • onMouseOver
  • onMouseUp
  • onSelect
  • onTouchCancel
  • onTouchEnd
  • onTouchMove
  • onTouchStart
  • onScroll
  • onWheel

使用时,只需要从 eventNames 中引入即可,例如:

------ ----- ---- --------
------ ---------- ---- --------------------

----- ----------- ------- --------------- -
  ------------- -
    ------------------ -------
  -

  -------- -
    ------ -
      -------
        ---------------------------------------
      -
        ----- ---
      ---------
    --
  -
-

原生 DOM 事件

除了合成事件,React 还可以使用原生 DOM 事件。react-event-names 也提供了所有原生 DOM 事件的名称:

  • onAbort
  • onCanPlay
  • onCanPlayThrough
  • onDurationChange
  • onEmptied
  • onEncrypted
  • onEnded
  • onError
  • onLoadedData
  • onLoadedMetadata
  • onLoadStart
  • onPause
  • onPlay
  • onPlaying
  • onProgress
  • onRateChange
  • onSeeked
  • onSeeking
  • onStalled
  • onSuspend
  • onTimeUpdate
  • onVolumeChange
  • onWaiting

使用时,也只需要从 eventNames 中引入即可,例如:

------ ----- ---- --------
------ ---------- ---- --------------------

----- ----------- ------- --------------- -
  ------------ -
    ----------------- -------
  -

  -------- -
    ------ -
      ----
        -------------------
        -------------------------------------
      --
    --
  -
-

总结

使用 react-event-names 可以准确地书写 React 事件名称,避免出现拼写错误、大小写错误等问题,提高代码的可读性和可维护性。在开发 React 应用时,建议使用这个 npm 包来获取事件名称。

示例代码:

------ ----- ---- --------
------ ---------- ---- --------------------

----- ----------- ------- --------------- -
  ------------- -
    ------------------ -------
  -

  ------------------ -
    ----------------------- -------
  -

  ------------ -
    ----------------- -------
  -

  -------- -
    ------ -
      -----
        -------
          ---------------------------------------
          -------------------------------------------------
        -
          ----- ---
        ---------
        ----
          -------------------
          -------------------------------------
        --
      ------
    --
  -
-

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/react-event-names


猜你喜欢

  • npm 包 @types/lodash.partial 使用教程

    在前端开发中,我们经常会使用一些 JavaScript 编写的第三方库和框架,而使用这些库和框架时,我们需要知道它们的 API 是怎样的,以便正确地使用它们。在 TypeScript 中,为了让编译器...

    5 年前
  • npm 包 @types/lodash.intersection 使用教程

    前言 在开发前端应用的过程中,经常会使用到一些现成的库和工具,这些库和工具的使用可以大大提高我们的开发效率。而 npm 包就是一个非常常用的库资源管理工具,利用它可以方便地进行包的安装、升级、卸载等操...

    5 年前
  • npm 包:@types/get-value 使用教程

    前言 在前端开发中,许多时候我们需要从一个复杂的嵌套对象中获取某个属性的值。然而,JavaScript 中的对象访问器并不总是那么方便。这时,我们可以使用一些函数库来获取这些属性,比如 lodash....

    5 年前
  • npm 包 @types/event-to-promise 使用教程

    介绍 @types/event-to-promise 是一个 TypeScript 类型定义 npm 包,它能够帮助您更加轻松地使用 event-to-promise 库。

    5 年前
  • npm 包 @microfleet/validation 使用教程

    简介 @microfleet/validation 是一个用于数据验证的 npm 包,不仅可以快速、方便地验证数据的正确性,还可以支持自定义校验规则和错误提示信息。

    5 年前
  • npm 包 @microfleet/transport-amqp 使用教程

    随着现代前端应用的不断发展,处理数据是不可避免的。通常情况下,我们需要通过网络从服务器获取数据或将数据传输到服务器。在这种情况下,消息队列是解决大规模数据传输的一种非常好的方式。

    5 年前
  • npm 包 @hapi/vision 使用教程

    简介 在 web 前端开发中,经常需要在后端生成 HTML 页面来展示数据。@hapi/vision 是一个视图管理器,可以用于在 hapi 框架中生成和渲染模板。

    5 年前
  • NPM 包 Pino-multi-stream 使用教程

    前言 Pino 是一种 Node.js 日志库,非常适合用于生产环境中的服务端应用程序。它具有高性能、低内存占用、可扩展性、JSON 支持等优点。Pino 还提供了多个输出流,比如文件、WebSock...

    5 年前
  • npm 包 lsmod 使用教程

    简介 在前端开发中,使用 npm 来管理项目依赖是很常见的操作。但是在项目依赖越来越多的情况下,如何快速地了解项目所使用的 npm 包以及它们之间的依赖关系呢?这就需要用到 lsmod 这个 npm ...

    5 年前
  • npm 包 event-to-promise 使用教程

    在前端开发过程中,有时遇到需要等待某个事件发生之后才能继续执行代码的情况,如果没有处理好这种情况就会造成代码逻辑混乱,尤其是在异步场景下。而 event-to-promise 就是一款能够将事件转为 ...

    5 年前
  • npm包web3-providers-ws使用教程

    简介 web3-providers-ws是一个npm包,是以太坊Web3.js库的一个WebSocket和IPC传输的提供者。本文将详细介绍web3-providers-ws的安装和使用方法,以及如何...

    5 年前
  • npm 包 web3-providers-http 使用教程

    简介 web3-providers-http 是 Ethereum 的一个 JavaScript 客户端 API,它可以与以太坊区块链进行交互。它提供了一组连接到以太坊节点的 HTTP 支持方法,以便...

    5 年前
  • npm 包 redux-beacon 使用教程

    1. 前言 redux-beacon 是一个用于 Google Analytics 和 Mixpanel 等第三方分析工具及错误日志的 Redux 中间件。这个包提供了一种简单的方法来将事件数据发送到...

    5 年前
  • npm 包 react-rte 使用教程

    前言 在 React 中,富文本编辑器是一个经常会被用到的组件。react-rte 是一个 React - Rich Text Editor 的缩写,是一个方便易用的富文本编辑器的 npm 包,可以帮...

    5 年前
  • npm 包 react-router-named-routes 使用教程

    前言 在前端开发中,路由管理是非常重要的一项技能。当我们使用 React 框架进行开发时,react-router 是非常受欢迎的一款路由管理库。然而,在使用 react-router 进行开发时,我...

    5 年前
  • npm 包 react-ellipsis-text 使用教程

    简介 react-ellipsis-text 是一个 React 组件,它可以显示截断文本的省略号,以及通过鼠标悬浮展示完整文本的功能。这个组件可以避免文本内容过长而影响页面效果的问题,使页面更加美观...

    5 年前
  • npm 包 @types/storejs 使用教程

    前言 @types/storejs 是一个类型定义文件,用于为 Store.js 提供类型支持。如果你正在使用 Store.js,那么 @types/storejs 可以让你的开发变得更加高效和优雅。

    5 年前
  • npm 包 @types/sanitize-html 使用教程

    在前端开发中,经常需要对用户输入的数据进行过滤、格式化等操作,防止 XSS 攻击等安全问题。sanitize-html 是一个实用的 JavaScript 库,可以帮助开发者对 HTML 进行安全的处...

    5 年前
  • npm 包 @types/redux 使用教程

    在前端开发中,Redux 是一种广泛使用的状态管理库,它可以帮助开发者更好地管理应用程序的状态。同时,由于 TypeScript 在前端领域的普及和应用,使用 TypeScript 开发 Redux ...

    5 年前
  • npm 包 @types/highlight.js 使用教程

    在前端开发中,经常会遇到需要使用代码高亮的场景。这时候,我们就可以使用 highlight.js 这个工具。而在 TypeScript 项目中使用 highlight.js,需要安装官方提供的类型定义...

    5 年前

相关推荐

    暂无文章