我正在实现一个应用程序,在那里我可以导航到其他用户的配置文件。显然,进入配置文件对数据库请求有成本,也会降低用户体验(必须等待数据库响应才能显示数据)。
AsyncStorage是一个本地数据库,用来缓存数据库中的对象和数据。这个API已经过时了,有些人正在使用redux和redux-persistent来代替。
在我的应用程序中,我没有使用Redux,所以为了管理我的目的,我想我必须使用AsyncStorage。但是,React Context呢?目前,我已经实现了一个上下文提供程序“CurrentUserContext”,它有一个“VisitedUsers”Map,当我输入用户的配置文件时,我将用户数据放在其中(因此,为了避免对数据库进行不必要的查询,我只需查看该用户的数据是否在此Map中)。因此,如果用户希望查看最新的数据,他将不得不刷新(配置文件屏幕有一个拉到刷新机制)。此外,当应用程序退出时,此上下文的生命也将结束。
我的问题是:这是一个很好的选择,使用上下文为这种目的?我从来没有见过任何人这样做...这就是为什么我很怀疑。
从我的Angular 来看,这是好的,因为你真的只有一个简短的Map(这在很短的时间内完成),在一个环境中,将持续到用户关闭应用程序或注销。
小心点,我是作为一个问题来问的,因为我真的不知道这是不是一个好的做法。
谢谢
1条答案
按热度按时间h4cxqtbf1#
使用
CurrentUserContext
缓存用户配置文件数据的方法实际上非常直观,特别是在减少不必要的数据库请求方面。以下是每种方法的优点和缺点:
1. React上下文
*优点:
***酒店:
2.异步存储
*优点:
3. Redux,使用redux-persistent
*优点:
redux-persist
与Redux无缝集成,并保留部分或全部商店。***酒店:
考虑到您当前的设置,在
CurrentUserContext
中使用VisitedUsers
Map似乎是在会话期间缓存用户配置文件数据的合适选择。它很简单,可以完成工作。但是,如果您发现需要在应用启动期间持久化此缓存,那么您可能需要探索与AsyncStorage或类似的本地存储解决方案的集成。