mobx中的computed实现

本文展示了如何利用MobX库在JavaScript中创建一个数据存储类,定义计算属性来过滤数据,并通过makeAutoObservable方法实现数据的自动观察。在React组件中,使用observer装饰器将组件与数据绑定,实现实时更新。当点击按钮向数组添加值时,过滤后的数据列表会自动更新。
摘要由CSDN通过智能技术生成

1.定义一个数据

2.定义get属性,编写一个计算公式

3.在makeAutoObservable方法中进行标记

代码示例:

countes.js

//导入computed属性
import { computed, makeAutoObservable } from 'mobx'

class CountesStore {
  // 1.定义数据
  list = [1, 2, 3, 4, 5, 6]
  // 3.标记该计算属性
  constructor() {
    makeAutoObservable(this, {
      filterList: computed
    })
  }
  // 2.计算属性-定义一个方法,筛选出大于三的数据
  get filterList () {
    return this.list.filter(item => item > 3)
  }
  
  addList = () => {
    this.list.push(0, 7, 8)
  }

}

// 4.实例化并将实例导出
const countesStore = new CountesStore()

export { countesStore }

渲染数据App.js

// 1.countesStore
import { countesStore } from './store/countes'
// 2.导入中间连接件,使数据完成响应式
import { observer } from 'mobx-react-lite'
function App () {
  return (
    <div className="App">
      {/* 渲染数据 */}
      <p>
        {countesStore.filterList.join('-')}
      </p>

      {/* 对数据进行修改 */}
      <button onClick={countesStore.addList}>list数组添加值</button>
    </div>
  )
}

// 包裹App组件
export default observer(App)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值