🖋️ React Typewriter Plus:让你的React应用打字更炫酷!

1,425 阅读2分钟

欢迎来到 React Typewriter Plus!这是一个可以模拟打字机效果的 React 库,打字速度可以调节,光标可以眨眼,支持 Markdown 和 HTML。你可以用它来搞点炫酷的文本展示——就像魔法一样,字母一个一个打出来,秒变炫酷小能手!

screenshot.gif

🎯 什么是 React Typewriter Plus?

React Typewriter Plus 是一款专为 React 设计的库,可以模拟打字机效果。它支持文本MarkdownHTML 的打字动画,还能渲染数学公式(没错,打字机效果也可以有公式的哦!)。

它的主要特点包括:

  • 打字机效果:文本一个字一个字打出来,模拟打字机的感觉。
  • 支持Markdown和HTML:你不仅可以打出普通文本,还能渲染Markdown或HTML内容。
  • 数学公式支持:对于爱公式的小伙伴,支持用KaTeX语法渲染数学公式。
  • 高度自定义:可以控制打字速度、光标、循环播放等各种行为。

🚀 安装指南

要开始使用 React Typewriter Plus,只需要通过 npm 或者 yarn 安装:

npm i react-typewriter-plus
# 或者
yarn add react-typewriter-plus

📖 基础用法

使用 Typewriter 组件

首先,让我们看看如何使用 Typewriter 组件来实现打字机效果:

import React from 'react';
import { Typewriter } from 'react-typewriter-plus';

const App = () => {
  return (
    <div>
      <Typewriter text="你好,React Typewriter Plus!" speed={100} cursor={true} loop={true} />
    </div>
  );
};

export default App;

这个例子里:

  • text 指定你想要打出来的文本。
  • speed 控制打字的速度(单位:毫秒)。
  • cursor 控制光标是否显示。
  • loop 控制是否循环播放。

使用 useTypewriter Hook

如果你更喜欢使用 Hook 来进行控制,useTypewriter 也是一个不错的选择:

import React from 'react';
import { useTypewriter } from 'react-typewriter-plus';

const App = () => {
  const text = useTypewriter("这是一个互动打字效果!", {
    speed: 80,
    cursor: true,
    loop: true,
    type: 'text', // 也可以是'md'或者'html'
  });

  return <div>{text}</div>;
};

export default App;

使用 useTypewriter Hook,可以更灵活地控制文本的渲染方式,同时也能将它整合到更复杂的 UI 元素中。


📝 Markdown 和 HTML 支持

React Typewriter Plus 最棒的地方之一就是它能够处理 MarkdownHTML 内容,「遥遥领先」。

Markdown 渲染

可以直接传入 Markdown 内容,它会自动解析并渲染为 HTML:

const markdownText = `
**这是Markdown**
- 项目1
- 项目2

内联数学公式: $E = mc^2$
`;

const App = () => {
  const animatedText = useTypewriter(markdownText, {
    speed: 60,
    type: 'md',
    cursor: true,
  });

  return <div>{animatedText}</div>;
};

上面的例子中,Markdown 内容会被打字机效果渲染,包括数学公式「遥遥领先」。

HTML 渲染

如果你想直接渲染 HTML 内容,当然也可以:

const htmlContent = `<div style="color: blue;">这是一个 <strong>HTML</strong> 示例!</div>
`;

const App = () => {
  const animatedText = useTypewriter(htmlContent, {
    speed: 50,
    type: 'html',
    cursor: true,
  });

  return <div>{animatedText}</div>;
};

HTML 内容也能正常渲染,并且带有打字机效果。


进阶选项

你可以在使用 useTypewriterTypewriter 组件时配置以下选项来进一步定制效果:

  • speed:控制打字速度(毫秒)。
  • cursor:控制是否显示光标。
  • loop:控制是否启用循环播放。
  • cursorBlinkSpeed:控制光标闪烁的速度(毫秒)。
  • loadingNode:在文本打字时显示的自定义内容。

🔢 数学公式支持

对于喜欢数学的朋友,React Typewriter Plus 还支持用 KaTeX 渲染数学公式!

只需要在文本中使用 $ 来表示内联公式,或者使用 $$ 来表示块级公式:

const mathText = `$a^2 + b^2 = c^2$, $\\int_{a}^{b} x^2 , dx = \\frac{b^3}{3} - \\frac{a^3}{3}$`;

const App = () => {
  const animatedText = useTypewriter(mathText, {
    speed: 100,
    type: 'md',  // 'md' 类型会自动支持数学公式
    cursor: true,
    loop: true,
  });

  return <div>{animatedText}</div>;
};

React Typewriter Plus 会自动解析 $$$ 语法,并使用 KaTeX 渲染数学公式。


🌟 总结

通过 React Typewriter Plus,你可以轻松地为你的 React 应用添加打字机效果,支持文本、Markdown、HTML 和数学公式。这个库轻量、灵活,能够满足你对打字动画的各种需求。

无论是做一个简单的网页、个人项目,还是交互式应用,react-typewriter-plus 都能让你的界面更加生动有趣。


🚀 赶紧试试看!

安装 React Typewriter Plus,今天就开始为你的项目添加炫酷的打字机动画吧!

插件地址:react-typewriter-plus