首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

redux-thunk应该管理设备上的数据加载和保存吗?

redux-thunk是一个用于处理Redux异步操作的中间件。它允许我们在Redux应用中编写异步的action creators,并且可以处理副作用,例如数据加载和保存。

然而,redux-thunk并不是用来管理设备上的数据加载和保存的最佳选择。它更适合处理应用程序级别的异步操作,例如从服务器获取数据或发送数据到服务器。对于设备上的数据加载和保存,更合适的选择是使用适当的技术和工具,例如本地存储、数据库或其他设备特定的解决方案。

对于设备上的数据加载和保存,可以考虑以下方案:

  1. 本地存储:对于较小的数据量,可以使用浏览器提供的本地存储机制,如localStorage或sessionStorage。这些机制允许将数据存储在设备上,并在需要时进行读取和更新。
  2. 数据库:对于较大的数据量或需要更复杂查询和操作的情况,可以使用适当的数据库解决方案,如SQLite、IndexedDB或其他本地数据库。
  3. 设备特定的解决方案:某些设备可能提供了特定的数据存储和管理机制,例如iOS的Core Data或Android的SQLite数据库。可以根据设备平台的特点选择适当的解决方案。

总结起来,redux-thunk并不是用来管理设备上的数据加载和保存的最佳选择。对于设备上的数据加载和保存,应该根据具体情况选择适当的技术和工具,如本地存储、数据库或设备特定的解决方案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

数据异步加载图片保存

把从网络获取图片数据保存在SD卡, 先把权限都加上 网络权限 android.permission.INTERNET SD卡读写权限 android.permission.MOUNT_UNMOUNT_FILESYSTEMS...),获取联系人,getImages()获取图片 开启新线程,使用ContactService.getContacts()里面实现获取网络数据,返回List对象,使用Handler传递数据给主线程 创建缓存图片...重写getCount()方法,return数据条数 重写getItem()方法,返回 根据索引得到集合中数据,List对象get()方法,参数:索引 重写getItemId()方法,一般返回数据索引...如果直接加载容易anr,所以要异步加载图片 异步加载保存图片 开启线程执行加载图片代码 在ContactService业务类里实现getImage()方法,通过get方式读取图片,得到Uri对象,参数...判断文件存在就直接返回该文件Uri对象,调用Uri.fromFile(),参数:File对象 get获取网络数据,得到输入流,循环读取保存 读取输入流写到文件输出流中 返回Uri对象 在子线程中无法更新

1.1K20

React-Redux-thunk

通常,Reduxreducers是同步,但在现实应用中,需要在数据获取或其他异步操作完成后才能更新状态。这就是React-Redux-Thunk发挥作用地方。...当前保存异步数据存在问题异步数据既然要保存到 Redux 中, 所以获取异步数据应该是 Redux 一部分,所以获取异步数据代码应该放到 Redux 中, 而不是放到组件生命周期方法中。...在 Redux 中获取网络数据使用 redux-thunk 中间件redux-thunk 作用默认情况下 dispatch 只能接收一个对象, 使用 redux-thunk 可以让 dispatch 除了可以接收一个对象以外...,在派发方法当中会自动将 dispatch 传入到方法参数列表,然后可以在通过 dispatch 在此派发任务进行保存数据,更改 action.jsexport const getUserInfo...大家点赞支持一下哟~ 我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池键盘手表图片

18320

高频React面试题及详解

生态: 现在主流前端框架都自带生态,不管是数据管理架构还是 UI 库都有成熟解决方案。...性能优化手段很多时候是通用详情见前端性能优化加载篇 React如何进行组件/逻辑复用?...首先,我们看下几个核心概念: Store:保存数据地方,你可以把它看成一个容器,整个应用只能有一个Store。...两者对比: redux将数据保存在单一store中,mobx将数据保存在分散多个store中 redux使用plain object保存数据,需要手动处理变化后操作;mobx适用observable...保存数据数据变化后自动处理响应操作 redux使用不可变状态,这意味着状态是只读,不能直接去修改它,而是应该返回一个新状态,同时使用纯函数;mobx中状态是可变,可以直接对其进行修改 mobx

2.4K40

字节前端面试被问到react问题

方便 react 统一管理事务机制。...,异步任务(通常都是业务或获取数据任务)也不例外,而为了不将业务或数据相关任务混入React组件中,就需要使用其他框架配合管理异步任务流程,如redux-thunk,redux-saga等;Mobx是一个透明函数响应式编程状态管理库...,且没有任何其他影响数据对比总结:redux将数据保存在单一store中,mobx将数据保存在分散多个store中redux使用plain object保存数据,需要手动处理变化后操作;mobx...适用observable保存数据数据变化后自动处理响应操作redux使用不可变状态,这意味着状态是只读,不能直接去修改它,而是应该返回一个新状态,同时使用纯函数;mobx中状态是可变,可以直接对其进行修改...,可以找出存在两个问题

2.1K20

前端高频react面试题

=id0值也是1因为子元素相同,就不删除并更新,只做移动操作,这就提升了性能Redux 状态管理变量挂载到 window 中有什么区别两者都是存储数据以供后期使用。...这些 state 可能包括服务器响应、缓存数据、本地生成尚未持久化到服务器数据,也包括 UI状态,如激活路由,被选中标签,是否显示加载动效或者分页器等等。管理不断变化 state 非常困难。...这个问题就设计到了数据持久化, 主要实现方式有以下几种:Redux: 将页面的数据存储在redux中,在重新加载页面时,获取Redux中数据;data.js: 使用webpack构建项目,可以建一个文件...,data.js,将数据保存data.js中,跳转页面后获取;sessionStorge: 在进入选择地址页面之前,componentWillUnMount时候,将数据存储到sessionStorage...尽管 React 使用高度优化 Diff 算法,但是这个过程仍然会损耗性能.Hooks可以取代 render props 高阶组件?通常,render props高阶组件仅渲染一个子组件。

3.3K20

Redux原理分析以及使用详解(TS && JS)

1.3、Redux设计理念 Redux是将整个应用状态存储到一个地方称为 store ,里面保存着一个状态树 store tree ,组件可以派发(dispatch)行为(action)给store,...从简单 react-thunk 到 redux-promise 再到 redux-saga等等,都代表这各自解决redux异步流管理问题方案 4.1 、redux-thunk redux-thunk...而react- saga则要求较高,难度较大,我现在也并没有掌握实践这种异步流管理方式。...大家觉得我能如愿在第一次加载时候能拿到数据?...对于这个问题,在我这份代码里面,目前我想到了三个解决方法: 1、定义初始值loading为true,当我们dispatch成功把数据存入时候,才将loading改为false,写一个加载动画,用这个loading

3.8K30

前端模块化开发--React框架(四):高级应用(redux)

: 对应用中状态进行集中式管理(写/读) 开发: 与react-redux, redux-thunk等插件配合使用 二、redux相关API redux中包含: createStore(), applyMiddleware...产生, 它值也可以是函数(异步action), 需要引入redux-thunk才可以 reducer 根据老state指定action, 返回一个新state 不能修改老...state store redux最核心管理对象 内部管理着: statereducer 提供方法: getState(), dispatch(action), subscribe...,不带有任何业务逻辑 b.通过props接收数据(一般数据函数) c.不使用任何 Redux API d.一般保存在components文件夹下 2)容器组件 Code a.负责管理数据业务逻辑...,不负责UI呈现 b.使用 Redux API c.一般保存在containers文件夹下 相关API 1)Provider 让所有组件都可以得到state数据 javascript <Provider

1.2K20

高级前端react面试题总结

componentDidMount方法中代码,是在组件已经完全挂载到网页才会调用被执行,所以可以保证数据加载。此外,在这方法中调用setState方法,会触发重新渲染。...所以,官方设计这个方法就是用来加载外部数据,或处理其他副作用代码。...与组件数据无关加载,也可以在constructor里做,但constructor是做组件state初绐化工作,并不是做加载数据这工作,constructor里也不能setState,还有加载时间太长或者出错...它是如何使用状态是 React 组件核心,是数据来源,必须尽可能简单。基本状态是确定组件呈现行为对象。与props 不同,它们是可变,并创建动态交互式组件。...react组件划分业务组件技术组件?根据组件职责通常把组件分为UI组件容器组件。UI 组件负责 UI 呈现,容器组件负责管理数据逻辑。

4K40

深入Redux架构

用户使用方式复杂 不同身份用户有不同使用方式(比如普通用户管理员) 多个用户之间可以协作 与服务器大量交互,或者使用了WebSocket View要从多个来源获取数据 简单说,如果你UI层非常简单...多交互、多数据源场景就比较适合使用Redux。 设计思想: Web 应用是一个状态机,视图与状态是一一对应。 所有的状态,保存在一个对象里面。 Redux工作流程: 首先,用户发出 Action。...API Store Store 就是保存数据地方,你可以把它看成一个容器。整个应用只能有一个 Store。 Redux 提供createStore这个函数,用来生成 Store。...didInvalidate表示数据是否过时,lastUpdated表示一次更新时间。 现在,整个异步操作思路就很清楚了。...负责管理数据业务逻辑,不负责 UI 呈现 带有内部状态 使用 Redux API 总之,只要记住一句话就可以了:UI 组件负责 UI 呈现,容器组件负责管理数据逻辑。

2.2K60

百度前端高频react面试题(持续更新中)_2023-02-27

当一个组件不需要管理自身状态时,也就是无状态组件,应该优先设计为函数组件。比如自定义 、 等组件。...componentDidMount方法中代码,是在组件已经完全挂载到网页才会调用被执行,所以可以保证数据加载。此外,在这方法中调用setState方法,会触发重新渲染。...所以,官方设计这个方法就是用来加载外部数据,或处理其他副作用代码。...与组件数据无关加载,也可以在constructor里做,但constructor是做组件state初绐化工作,并不是做加载数据这工作,constructor里也不能setState,还有加载时间太长或者出错...useEffectuseLayoutEffect区别 useEffect 基本90%情况下,都应该用这个,这个是在render结束后,你callback函数执行,但是不会block browser

2.3K30

Redux开发实用教程

可以看到,在整个流程中数据都是单向流动。 ReduxFlux对比 Redux是Flux思想一种实现,同时又在其基础做了改进。...Redux只有一个Store:Flux中允许有多个Store,但是Redux中只允许有一个,相较于多个StoreFlux,一个Store更加清晰,并易于管理; ReduxFlux最大不同是Redux...这些 state 可能包括服务器响应、缓存数据、本地生成尚未持久化到服务器数据,也包括 UI 状态,如激活路由,被选中标签,是否显示加载动效或者分页器等等。.../reducers' let store = createStore(todoApp) 高级 异步Action 我们上文中所讲Action都是基于同步实现,那么对于网络请求数据加载等应用场景同步Action...当需要拆分数据处理逻辑时,你应该使用 reducer 组合 而不是创建多个 store; redux一个特点是:状态共享,所有的状态都放在一个store中,任何component都可以订阅store中数据

1.4K20

美团前端react面试题汇总

js代码下载、加载、解析完成后再请求数据渲染,等待过程页面是什么都没有的,就是用户看到白屏。...redux-observable额外范式,⼿简单redux-thunk缺陷:样板代码过多: 与redux本身⼀样,通常⼀个请求需要⼤量代码,⽽且很多都是重复性质耦合严重: 异步操作与redux...,这个保证了视图网络请求都不能直接修改state,相反他们只能表达想要修改意图使用纯函数来执行修改state为了描述action如何改变state tree 需要编写reduceReact 数据持久化有什么实践...但是在已经使用redux来管理存储全局数据基础,再去使用localStorage来读写数据,这样不仅是工作量巨大,还容易出错。那么有没有结合redux来达到持久数据存储功能框架呢?...纯函数是不依赖并且不会在其作用域之外修改变量状态函数。本质,纯函数始终在给定相同参数情况下返回相同结果。Reactvue.js相似性差异性是什么?相似性如下。

5.1K30

应用connected-react-routerredux-thunk打通react路由孤立

redux 在我们开发过程中,很多时候,我们需要让组件共享某些数据,虽然可以通过组件传递数据实现数据共享,但是如果组件之间不是父子关系的话,数据传递是非常麻烦,而且容易让代码可读性降低,这时候我们就需要一个...常见状态管理工具有 redux,mobx,这里选择 redux 进行状态管理。...值得注意是 React 16.3 带来了全新Context API,我们也可以使用新 Context API 做状态管理。...因为对于何时应该引入 Redux 这个问题,对于每个使用者每个应用来说都是不同。...对于 Redux 应该如何、何时使用更多建议,请看:“您可能不需要Redux” Redux之道,第1部分-实现意图 Redux之道,第2部分-实践与哲学 Redux 常见问题 Redux 创造者

2.3K00

《彻底掌握redux》之开发一个任务管理平台

虽然我们不使用redux也可以通过reactstate父子props进行基本数据通信项目开发,但是对于一个大型项目而言,往往考虑更多是代码结构组件之间通信,我们需要一种很优雅且有利于扩展方式去开发我们复杂系统...项目技术选型架构 基于react实现一个可用任务管理平台 如何实现自己js工具库 正文 1. redux工作机制基本概念 以上是笔者画一个草图,描述了redux数据流转机制。...redux设计思想核心就是把web应用当作一个状态机,视图状态一一对应,所有的状态都保存在一个对象里。...由上图可以看出redux几个核心api就是 store 保存数据容器 state 某个时刻store快照 action 标识当前要执行动作。..., mapDispatchToProps这两个函数参数,我们可以将reduxstoreaction映射到UI组件props,这样我们就可以实现正常数据单向流转。

1K30

2022社招react面试题 附答案

⾸先,我们看下⼏个核⼼概念: Store:保存数据地⽅,你可以把它看成⼀个容器,整个应⽤只能有⼀个Store; State:Store对象包含所有数据,如果想得到某个时点数据,就要对Store⽣成快照...两者对⽐: redux将数据保存在单⼀store中,mobx将数据保存在分散多个store中 redux使⽤plain object保存数据,需要⼿动处理变化后操作;mobx适⽤observable...保存数据数据变化后⾃动处理响应操作 redux使⽤不可变状态,这意味着状态是只读,不能直接去修改它,⽽是应该返回⼀个新状态,同时使⽤纯函数;mobx中状态是可变,可以直接对其进⾏修改 mobx...当然mobxredux也并不⼀定是⾮此即彼关系,你也可以在项⽬中⽤redux作为全局状态管理,⽤mobx作为组件局部状态管理器来⽤。 10、redux异步中间件之间优劣?...redux-thunk缺陷: 样板代码过多:与redux本身⼀样,通常⼀个请求需要⼤量代码,⽽且很多都是重复性质; 耦合严重:异步操作与reduxaction偶合在⼀起,不⽅便管理; 功能孱弱:有

2.1K10

【React】211- 2019 React Redux 完全指南

本教程不仅涵盖视频中所有内容,还有其他干货。 你应该用 Redux ? 都 9102 年了,弄清楚你是否还应该十分必要使用 Redux。...更重要是,这不是好软件设计。中间组件被迫接受传递他们并不关心 props。也就意味着重构重用这些组件会变得比原本更难。 如果不需要这些数据组件根本不用看到它们的话不是很棒?...你会经常看到 “state” “store” 这两个词互换使用。技术上来讲,state 是数据,store 是保存数据地方。...你函数调用时会接收两个参数:一次迭代结果,当前数组元素。它结合当前元素之前 “total” 结果然后返回新 total 值。...是的,Redux 就像一个霸道父母。但它是出于爱。函数式编程爱。 Redux 建立在不变性基础,因为变化全局 state 是一条通往废墟之路。 你试过在全局对象里面保存 state

4.2K20

ViewModel:持久化、onSaveInstanceState()、UI 状态恢复 Loader

ViewModel 被设计用来以与生命周期相关方式保存管理 UI 相关数据。ViewModel 允许数据在例如屏幕旋转这样配置更改后依然保留。...也就是说即便你应用在由于资源限制而被终止或者设备电量用完了时候数据也将会被保存下来。...onSaveInstanceState() 是生命周期一个回调函数,而 ViewModel 从根本改变了 UI 数据在你应用中管理方式。...onSaveInstanceState() 在配置更改期间 activity 进入后台时被调用;在这两种情况下,如果你数据保存在 ViewModel 中,实际并不需要重新加载或者处理他们。...如果新添加音乐需要在 UI 显示,你还应该更新 ViewModel 中数据来反应音乐添加。谨记切勿在主线程中向数据库插入数据

3.7K30

ViewModel:持久化、onSaveInstanceState()、UI 状态恢复 Loader

我在上篇博文中用新 ViewModel 类开发了一个简单用例来保存配置更改过程中篮球分数。ViewModel 被设计用来以与生命周期相关方式保存管理 UI 相关数据。...ViewModel 被设计用来以与生命周期相关方式保存管理 UI 相关数据。ViewModel 允许数据在例如屏幕旋转这样配置更改后依然保留。...也就是说即便你应用在由于资源限制而被终止或者设备电量用完了时候数据也将会被保存下来。...onSaveInstanceState() 在配置更改期间 activity 进入后台时被调用;在这两种情况下,如果你数据保存在 ViewModel 中,实际并不需要重新加载或者处理他们。...如果新添加音乐需要在 UI 显示,你还应该更新 ViewModel 中数据来反应音乐添加。谨记切勿在主线程中向数据库插入数据

92720
领券