Redux的更新速度很慢

tpgth1q7  于 2022-11-24  发布在  其他
关注(0)|答案(1)|浏览(196)

我正在使用Redux和AsyncStorage构建一个React Native应用程序,当用户删除一个项目时,更新速度有点慢(2-3秒)。
我有一个对象数组(相当小)。我用这样的函数删除了这个数组中的一个项:

let idFordeleteFav = categoryArrFav.map(function(el) {return el['name']}).indexOf(itemName) 
          let cleanedCategory = [...categoryArrFav.slice(0, idFordeleteFav), ...categoryArrFav.slice(idFordeleteFav+1)]
          let completeNewList = {...allAffirmation, [category]: cleanedCategory}
          props.dispatch(setAffArr(completeNewList))

我的mapStateToProps如下所示:

const mapStateToProps = (state) => {
  const { appR } = state
  return {
    allAffirmation: appR.allAffirmation,
    affirmations: appR.affirmations}
}

我想知道,我可以做些什么来更快地更新。

wd2eg0qa

wd2eg0qa1#

首先,检查您有多少中间件以及它们内部的逻辑。另外,我建议您用react native MMKV(https://github.com/mrousavy/react-native-mmkv)替换async存储,它要快得多:

您需要做两件事。首先,为MMKV创建一个 Package 器,因为它是同步的:

import { Storage } from 'redux-persist'
import { MMKV } from "react-native-mmkv"

const storage = new MMKV()

export const reduxStorage: Storage = {
  setItem: (key, value) => {
    storage.set(key, value)
    return Promise.resolve(true)
  },
  getItem: (key) => {
    const value = storage.getString(key)
    return Promise.resolve(value)
  },
  removeItem: (key) => {
    storage.delete(key)
    return Promise.resolve()
  },
}

第二步是从现有用户的异步存储中迁移(如果您有https://github.com/mrousavy/react-native-mmkv/blob/master/docs/MIGRATE_FROM_ASYNC_STORAGE.md

相关问题