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

设计师都能懂的 Redux 指南

他们中的许多人都知道 Redux 与React 一起工作,它的工作是状态管理。 本文的目的就是让你对 Redux 有更全面的认知: 它能做什么?为什么它要这样设计?何时使用它?...将数据绑定到 UI 元素 如果单单使用 React 的话,实际上有一种更好的方法来获取和存储数据。我们可以请我们非常善良的厨师Shotwell为他所有的厨师朋友购物。他会开一辆卡车去农场,把货物运回。...但因为 react-redux 本身只是个连接库,并且开发者通常一起使用 Redux 和 react-redux ,因此我认为将它当做是 Redux 的好处之一是并无不妥。...因此,如果你的团队使用 Redux 的唯一原因是为了提取数据,不妨认真考虑升级到 React 16.3! 改变数据 有时候,在应用程序中更新数据的逻辑可能相当复杂。它可能涉及多个相互依赖的步骤。...Redux 的一般思想适用于任何地方 只要你明智地使用 Redux,你可以在很多情况下得到它的好处,而不仅仅是在React应用中。 总结 有不可避免的缺点。

1.7K10

从设计的角度看 Redux

他们中的许多人都知道 Redux 与React 一起工作,它的工作是状态管理。 本文的目的就是让你对 Redux 有更全面的认知: 它能做什么?为什么它要这样设计?何时使用它?...将数据绑定到 UI 元素 如果单单使用 React 的话,实际上有一种更好的方法来获取和存储数据。我们可以请我们非常善良的厨师Shotwell为他所有的厨师朋友购物。他会开一辆卡车去农场,把货物运回。...但因为 react-redux 本身只是个连接库,并且开发者通常一起使用 Redux 和 react-redux ,因此我认为将它当做是 Redux 的好处之一是并无不妥。 ?...因此,如果你的团队使用 Redux 的唯一原因是为了提取数据,不妨认真考虑升级到 React 16.3! 改变数据 有时候,在应用程序中更新数据的逻辑可能相当复杂。它可能涉及多个相互依赖的步骤。...Redux 的一般思想适用于任何地方 只要你明智地使用 Redux,你可以在很多情况下得到它的好处,而不仅仅是在React应用中。 ? 总结 有不可避免的缺点。

1.7K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    为什么我不再用Redux了

    我们的前端应用程序真的那么复杂吗,还是说我们试图用 Redux 做的事情太多了? 单页应用程序的问题 React 这样的单页应用程序(SPA)的出现为我们开发 Web 应用程序的方式带来了许多变化。...后端状态的更简单方法 我认为有两个库比使用 Redux(或类似的状态管理库)存储后端状态要好用很多。...React Query 我已经在自己的多数个人和工作项目中使用 React Query 几个月了。这个库有一个非常简单的 API 和几个 hooks,用于管理查询(获取数据)和突变(更改数据)。...自从使用 React Query 之后,我不仅提升了效率,而且最终编写的样板代码比 Redux 少了 9 成。...我使用常规 JS、React Hooks 和 axios 实现了一个从服务器获取的简单 TODO 列表。

    2.7K20

    2020 年你应该知道的 React 库

    React 应用程序中,TypeScript 为整个应用程序增加了类型安全性,而不是使用 React PropTypes。...这些特性远远超出了 React,因为后端应用程序为您管理这些事情。 通常的方法是使用自定义身份验证实现自己的自定义后端应用程序。...就我个人而言,我不使用它,但是任何时候有人问到 JS 中的不变性(immutability),大家都会指出 Immer,并且这可以加上 redux 或 React hooks。...react-viro react-native-arkit 为 React 设计原型 如果您来自 UI/UX 背景,那么您可能希望使用一个工具为新的 React 组件、布局或 UI/UX 概念进行快速原型设计...为 React 书写文档 如果你负责为你的软件、 UI 库或者其他东西编写文档,那么你可以使用一些简洁的 React 文档工具。

    14.4K40

    蚂蚁、字节、滴滴面试经历总结(都已过)

    react-redux 的原理,是怎么跟 react 关联起来的 react-redux 的核心组件只有两个,Provider 和 connect,Provider 存放 Redux 里 store 的数据到...怎么让数据库查询更快 索引 如果数据量太多了可以拆表,分多个数据库 数据库是用的什么? mysql 为什么用 mysql 希望滴滴能提供给你什么? 这个题其实还挺常考的,可以好好准备下,背一下答案。...项目难点 怎么解决 项目有什么改进的地方 业务方怎么拿到反馈的,就是做的这个东西具体有什么用 小节 一面面试官问了很多我完全不知道的东西,我知道的东西可能答的比较随意吧,记不起来了。...关于如何准备面试的问题,我的策略是把自己会的东西以及常用的东西,尽量让面试官问不倒你,不会的东西可以跟面试官说不会,不怎么了解,那一般面试官也不会问相关的问题了,如果连自己常用的东西都了解得不深,那么就不太有可能把平时不常用的了解得很深了...所以我在准备的时候,就尽量准备的这些知识,了解我的人都知道,我对 react 研究得比较多,原理、性能优化都写过文章,所以如果考 react 的东西,我基本不担心。

    1.3K61

    Medium网友开发了一款应用程序 让学习算法和数据结构变得更有趣

    这款无需注册的应用程序可以自动保存你的进度,当你困住的时候为你提供解决方案,还会提供一些有用的文章、教程和其他资源的链接,让你的学习过程变得更加轻松! 我承认,这款应用并不是什么开创性的东西。...地址:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html 技术堆栈和黑客 如果你感兴趣的话,我用React & React-Redux...持久化代码 我想让这个应用程序超级容易使用。...因此,我选择了一种更简单的方法来保存进度,而不是实现数据库并请求用户登录。Redux在每个会话期间管理应用程序的状态,我使用localStorage来在会话中持久化代码。...如果出于某种原因你想要删除所有的进程,你可以在编辑器中的任何时候运行runresetState()。如果你不想将代码提交给本地存储,那么在操作之前,不要保存注释。

    1.5K50

    2016 JavaScript 技术栈展望

    Redux 现在,我们已经具有了开发视图层的能力,接下来,我们需要使用其他工具管理应用程序中的状态和生命周期,在这里推荐的工具就是:Redux。...如果你需要执行其他类型的构建任务,那么 Gulp 和 Grunt 还是有用的。对于类似运行 Webpack 的基本任务,我建议直接使用 NPM 脚本。...如果你决定使用这个库,可能需要引用一些 Lodash 函数。 fetch 许多基于 React 的应用程序都不再使用 jQuery 了。...我不认为上述有一个完美的解决方案,但我对 API 有一个自己的认知: 可预测,遵循一致性协议 支持在一次查询中获取多个实体 支持更新操作 易于调试 易于使用 到目前为止,我还没有发现满足上述所有条件的解决方案...如果你的应用程序只有两三屏,那么就无需使用路由系统;如果你正在创建一个单页应用,那么甚至不需要 Redux,只需要 React 自己的 state 属性即可;如果你正在创建一个简单的 CRUD 程序,那么你就不需要使用

    2.1K40

    2023 React 生态系统,以及我的一些吐槽……

    可惜的是他仅仅列出了名字,没有继续深入介绍,我知道读者们有很多小懒蛋,那我就花点时间收集一些重点框架的详细介绍,如果我有一些看法(吐槽),我也会在下面的引用部分进行一些评价。...nextjs Next.js 是一个用于构建 Web 应用程序的框架。 使用 Next.js,你可以使用 React 组件构建用户界面。...服务器状态管理 tanstack query TanStack Query(前身为 React Query)经常被描述为 Web 应用程序中缺失的数据获取库,但更具技术性的说法是,它使得在 Web 应用程序中获取...首先,服务器状态具有以下特点: 以你无法控制或拥有的远程位置持久存储 需要使用异步 API 进行获取和更新 暗示共享所有权,并且可能被其他人在你不知情的情况下更改 如果不小心处理,可能会在应用程序中变得...对于小型应用程序来说这没问题,但如果您使用 Redux-Form,随着 Redux 应用程序的增长,输入延迟将继续增加。

    78530

    “别更新了,学不动了” 之:全栈开发者 2019 应该学些什么?

    但是,有一件事是肯定的:2019 年对全栈开发者的需求量很大。在本文中,我将向你概述一些趋势,你可以尝试根据这些趋势来确定你可能要投入的时间。 简单地说,全栈开发者就是可以构建完整应用程序的人。...开发者可以使用 Vue Native 进行跨平台开发(就像 React Native 那样),我们已经很接近 React 那样的大型生态系统,但还是有一大段距离。...现在,我可以使用 Angular 创建世界上最好的组件,并将它交给我的朋友,她将它用在她的 React 应用程序中!...有一些方法可以解决这个问题,例如:PRPL 模式、prerender.io,或者你可以这么想,其实谷歌机器人在抓取单页应用程序时没有那么糟糕。...移动开发在 2019 年的日子可能会有点难过。应用程序的下载量不像过去那么多,而且最热门的下载要么是游戏,要么是大型科技公司的应用程序。2019 年,移动端 Web 浏览量将超过原生移动应用程序。

    2.6K30

    使用 React 和 Django REST Framework 构建你的网站

    在我们最近的工作中,构建网站使用的架构是带有 Django REST Framework(DRF)后端的 React 前端。它们是通过在前端使用 axios(前端库)调用后端 API 来交互的。...我们还使用了 Redux(前端库)来存储全局的应用程序状态(存在浏览器端)。这是我们首选,因为它允许前后端完全分离。...这也使我们可以轻松的为未来的任何项目创建移动端 App,因为它们仍然可以复用后端 API。 在本文的剩余部分,我将介绍如何配置 React 前端和 DRF 后端。...注意我假设你已经熟悉了 React,Redux,Django,DRF,NPM 等,本篇不是基础教程哦。...startproject backend $ cd backend $ django-admin startapp api 接下来应该配置好你的数据库并编辑你的项目 settings 文件来使用它。

    7.2K70

    「前端架构」使用React进行应用程序状态管理

    有一个状态管理解决方案,我个人一直在使用React,随着React钩子的发布(以及对React上下文的大量改进),这种状态管理方法已经大大简化。...这就是我只在一个项目中使用redux的原因:我经常看到开发人员把他们所有的状态都放到redux中。不仅是全局应用程序状态,还包括本地状态。...但我的观点是,如果您的状态在逻辑上更为分离,并且位于React树中更靠近它的位置,那么就不会出现这个问题。 这是真正的关键,如果您使用React构建应用程序,那么您的应用程序中已经安装了状态管理库。...正如我所说,很多人求助于react redux,因为它使用我所指的机制解决了这个问题,而不必担心react文档中的警告。...但是,如果您注意到有许多组件在没有DOM更新或需要的副作用的情况下进行渲染,那么这些组件将不必要地进行渲染。

    2.9K30

    一份react面试题总结

    之前,在使用场景上,如果存在需要使用生命周期的组件,那么主推类组件;设计模式上,如果需要使用继承,那么主推类组件。...setState方法的第二个参数有什么用?使用它的目的是什么? 它是一个回调函数,当 setState方法执行结束并重新渲染该组件时调用它。...,那么判定这个节点不需要更新,如果节点属性不相同,那么会判定这个节点需要更新,react会更新并重渲染这个节点。...redux有action、reducer的概念,action为唯一修改state的来源,reducer为唯一确定state如何变化的入口,这使得redux的数据流非常规范,同时也暴露出了redux代码的复杂...这个问题就设计到了数据持久化, 主要的实现方式有以下几种: Redux: 将页面的数据存储在redux中,在重新加载页面时,获取Redux中的数据; data.js: 使用webpack构建的项目,可以建一个文件

    7.4K20

    Top JavaScript Frameworks & Topics to Learn in 2017

    如果你在查看这个列表时,担心是否能学习这些建立现代应用程序所需要的一切知识,那么请阅读 “Why I’m Thankful for JavaScript Fatigue” 。 然后扣下来上班。...多年以来,我没有看到有大量使用函数式编程JavaScript应用程序。是时候掌握基本原理了。 Generators & async/await: 在我看来,最好的方式来写异步代码看起来同步。...注意,使用 Flow 来使我的 IDE 有表现好的反馈有一些困难,即使使用的是 Nuclide。 React 是一个用于构建用户界面的 JavaScript 库,由 Facebook 创建。...Redux Redux 为您的应用程序提供事务性,确定性状态管理。在 Redux 中,我们遍历操作对象流以减少到当前应用程序状态。...如果你不是会员,那么你错过了。

    2.3K00

    【春节日更】最新的react面试题汇总

    汇总了最近关于React面试题: react面试题汇总(2020) 分享给大家,主要提供题目,答案自行百度,有不清楚的,也可以私信我,我再专门针对这个题目回答 注:有些题目类同...mobx的实现原理? mobx如何使用 react redux是如何工作的 熟悉redux吗,讲解一下它是干什么的 Hook: 解释hook,什么情况使用 hook的好处是什么?...知识点: react生命周期 React生命周期有哪些?实际业务中怎么使用? React新增的生命周期函数分别替代了哪些原来的生命周期函数? componentDidCatch生命周期使用的好处?...了解过react最新的生命周期函数吗 useEffect实际业务中怎么使用?useEffect的实现原理? useRef除了用于获取节点还有什么用处? React传参的方式?...三级动态路由的实现代码? 登录和权限具体怎么做的? react列表渲染时的key有什么用,不用key的影响,,key使用循环列表时的产生的index可以吗 react中生成列表的key值有什么作用?

    48610

    React面试八股文(第一期)

    react有什么特点react使用过的虚拟DOM,而不是真实DOMreact可以用服务器渲染react遵循单向数据流 或者数据绑定React 数据持久化有什么实践吗?...项目中,通过redux存储全局数据时,会有一个问题,如果用户刷新了网页,那么通过redux存储的全局数据就会被全部清空,比如登录信息等。...但是在已经使用redux来管理和存储全局数据的基础上,再去使用localStorage来读写数据,这样不仅是工作量巨大,还容易出错。那么有没有结合redux来达到持久数据存储功能的框架呢?...除此之外,还可以减少代码,因为 React使用 Uglify的dead-code来消除开发代码和注释,这将大大减少包占用的空间。setState方法的第二个参数有什么用?使用它的目的是什么?...尽量不要在 componentWillReviceProps 里使用 setState,如果一定要使用,那么需要判断结束条件,不然会出现无限重渲染,导致页面崩溃3.

    3.1K30

    企业级 React 项目的高级测试设置

    在任何复杂应用中,测试是一个至关重要的方面。测试不仅仅是为了提高覆盖率,其主要目的是尽可能地模拟实际使用场景。最近,我需要为一个庞大的ReactJS项目建立测试架构。让我展示给你我是如何做的。...虽然它还不完整,但我想与你分享我的进展。为什么这么做?该项目已经在使用Enzyme进行测试。...如果组件依赖于redux状态,那么除非连接到redux状态,否则无法测试所有行为。那么我们该怎么办呢?首先,我们需要创建一个可重用的函数来渲染组件。这有点类似于ReactJS中的渲染属性模式。...我们将使用react-router-dom的Router来为第二个URL路径挂载一个虚拟组件,并确保它显示在画面中。...通过这些高级测试技巧,你可以更全面地测试你的React应用程序,覆盖各种场景和组件。这有助于确保应用程序的质量和稳定性。我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

    10100

    如何在 React 应用中使用 Hooks、Redux 等管理状态

    总结 React 中的状态是什么 在现代 React 中,我们使用函数组件构建我们的应用程序。...但是,一旦应用程序开始变得更大更复杂时,仅使用这一种方式可能会开始导致一些问题。 React context 第一个可能出现的问题是当我们有很多嵌套组件时,我们需要许多“兄弟”组件来共享相同的状态。...如果我们需要让许多组件都可以使用它,把它放在 context 中真的是一个好主意吗?或者我们是否可以把它提升一个层次? Kent C Dodds 有一篇关于这个主题的很酷的文章。...那么 Redux 呢 Redux 是一个已经存在很长时间并且在 React 中被广泛使用的库。...我认为,如果你没有遇到这些问题,真的没有必要增加额外的模板,使你的代码复杂化。即使使用那些几乎不添加样板的现代库。

    8.5K20

    Angular React Vue我应该选择什么?

    专利文件被更新了一次,有些人声称,如果你的公司不打算起诉 Facebook,那么使用 React 是可以的。你可以在 Github 的这个 issue 上 查看讨论。...大多数教程和样板文件都已经集成了 Redux,但是如果没有它,你可以使用 React(你可能不需要在你的项目中使用 Redux)。Redux 在代码中引入了复杂性和相当强的约束。...如果你正在学习React,那么在你要使用 Redux 之前,你应该考虑学习纯粹的 React。你绝对应该阅读 Dan Abramov 的“你可能不需要 Redux”。...如果你是来自 MVC 的世界,那么你应该阅读 Mikhail Levkovsky 的文章“Redux 中的思考(当你所知道的是 MVC)”。...如果你是一个没有经验的 Javascript 开发人员 - 或者如果你在过去十年中主要使用 jQuery,那么你应该考虑使用 Vue。转向 React 时,思维方式的转换更为明显。

    2.9K20

    React进阶(1)-理解Redux

    视图层view需要从多个来源获取数据 ....只要你发现React解决不了的问题,遇到多交互,多数据源的,那么就可以考虑使用Redux的 ?...,很痛苦时,那么就可以考虑使用Redux了的,只要你hold住,没有所谓的高大上技术,只有适合自己业务的技术 盲目引入Redux只会增加项目的复杂度,引入新的技术应该是循序渐进的 (如果想进一步学习Redux...,那么就会变得非常繁琐 在小型项目中,Redux并不是必需的,但是使用Redux却是一劳永逸的,管理组件的状态方便得多,对于大型应用来说,单纯使用原始的数据传递方式 那么组件之间的传值会变得非常复杂,如果要做一个大型的应用...,那么就需要在React的基础上配置一个数据层的框架进行结合的使用 ?...React与Redux是两个独立的框架,前者是用于组件视图层的渲染,而后者是管理组件的数据 Redux的工作流程 现在已经知道了使用Redux与不使用Redux的区别,那么现在是时候来了解一下Redux

    1.2K20
    领券