npm 包 @zmccreations/react-promise-modal 使用教程

阅读时长 6 分钟读完

介绍

react-promise-modal 是一个基于 React 的开源弹窗组件,可以帮助我们快速创建可以显示加载状态和等待用户操作的弹框。它可以方便地与 Redux 和 React Router 等库进行集成,并提供了大量自定义选项,使得我们可以灵活地定制弹框的外观和行为。

在本篇文章中,我们将介绍如何使用 react-promise-modal 创建一个基本的弹框,以及如何自定义其外观和行为。我相信通过阅读本文,你将对 react-promise-modal 有更深入的了解,并且能够在你的项目中运用这个强大的组件库。

安装

react-promise-modal 可以通过 npm 安装,输入以下命令即可:

安装完成之后,你可以在你的项目中引入它:

基本使用

react-promise-modal 提供了一个 PromiseModal 组件,我们可以将它包裹在一个容器组件内,并使用它的 open 方法打开弹框。以下是一个最基本的使用场景:

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

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

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

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

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

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

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

在这个例子中,我们使用了 PromiseModal 组件来创建一个弹框,它接受三个必要的 props:isOpen、onRequestClose 和 promiseCreator。

isOpen 表示弹框是否处于打开状态,我们可以通过 useState 来控制它的值。onRequestClose 则表示弹框被关闭时应该执行的回调函数,它通常用于更新父组件中的状态。promiseCreator 是一个函数,在弹框确定按钮被点击时会被调用,它应该返回一个 Promise 对象,用于表示异步操作的结果。

进阶使用

PromiseModal 提供了大量的 props,可以帮助我们定制弹框的外观和行为。以下是常用的一些 props:

  • isLoading: Boolean,是否处于加载状态,默认为 false。
  • onResolve: Function,异步操作成功时的回调函数。
  • onReject: Function,异步操作失败时的回调函数。
  • renderLoading: Function,在加载状态下显示的 UI,可以自定义。

以下是一个包含自定义 Loading UI 的例子:

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

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

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

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

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

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

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

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

总结

通过本文的介绍,我们学习了如何使用 react-promise-modal 创建基本的弹框,并对其进行自定义。react-promise-modal 是一个功能强大、易于使用的组件库,能够帮助我们快速创建各种类型的弹框,加速我们的开发过程。

希望本篇文章对你有所帮助,如果你有任何问题或建议,请在评论区留言,我会尽快回复!

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6006735c890c4f7277583fab

纠错
反馈