在react项目中使用mitt(发布订阅库)

本文详细介绍了如何在React项目中利用mitt库进行事件的发布与订阅管理,包括创建mitt.js文件、在App.js中监听事件并在One.js中触发和取消订阅。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在react项目中如何使用mitt

  1. 使用create-react-app创建项目和下载依赖
npx create-react-app a
npm i mitt
  1. 新建一个mitt.js文件,把mitt()对象暴露出去
import mitt from "mitt";
export const emitter = mitt();
  1. 在App.js文件使用mitt()对象上的on方法监听事件名,这个事件名最好是个常量,因为后面触发事件的时候需要传入相同的事件名.
import './App.css';
import One from './One'
import { emitter } from './mitt'
emitter.on('test', (data) => {
  console.log(data)
})
function App() {
  return (
    <div className="App">
      app
      <One />
    </div>
  );
}

export default App;
  1. 新建One.js文件,使用mitt()对象上的emit方法触发定义好的事件,也可以使用off方法取消订阅.
import { emitter } from './mitt'
export default function One() {
    return (
        <>
            <h1>One</h1>
            <button onClick={() => { emitter.emit('test', { name: 'chp' }) }}>emit</button>
            <button onClick={() => { emitter.off('test') }}>off</button>
        </>
    )
}
  1. 总结
  • mitt()对象上主要有三个方法on,emit,off,分别是注册订阅,触发订阅,取消订阅
  • 可以新建一个mitt.js文件暴露emitter对象,方便管理.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值