---- 原文链接 Persisting React State in localStorage -- 作者 Joshua Comeau 我们将创建一个日历应用,就像谷歌日历。...这个应用可以让我们在月份、周和日之间进行切换。 于我个人而言,我经常看周版面。它让我知道当天的所有事情,并且可以看到接下来几天的要发生什么事情。...在本教程中,我们将了解如何创建自定义 React 钩子,来编写信息保存本地功能,以便我们在需要时使用它。...JSON.parse(stickyValue) : defaultValue; }); 在我们的案例中,我们使用它来检查 localStorage 中的值。...总结 这个钩子函数是一个小而强大的例子,说明自定义钩子如何让我们为解决问题而发明自己的 API。虽然存在帮我们解决这个问题的依赖包,但是我认为了解如何解决这些问题很有价值。
,使 JavaScript 更容易。...使用react-icons可以 从十多个库和数千个图标中进行选择,包括许多品牌徽标。... 文档地址:https://github.com/tajo/react-portal 5、react-calendar 这是 React 应用程序的终极日历应用程序。...react-calendar支持几乎所有语言,而且设置起来又快又容易。 有了数十种可能的模板,日历可以根据你的需要进行定制。...在提供支付处理软件和 API 的金融科技世界中享有盛誉,他们的 React 库是大众的最爱。
虽然你可以借助一些数据聚合算法、智能内存管理和其他花哨的技巧使它们能够处理大型数据集,但是使用基于 Canvas 的大型数据集工具是更可靠的选择。Canvas 非常快。...大部分 API 都暴露了对 DOM 的直接访问,这可能与 React 或 Vue 等现代前端框架的工作方式产生冲突。但还是有办法解决这个问题的。...React-vis 这是 Uber 开发的一个简单的可视化库,它允许你创建所有常用的图表类型:条形图,树形图,折线图,面积图等。它的 API 非常简单,而且非常灵活。它很轻量,动画简单但流畅。...对于许多人来说,它是首选的 JS 库,因为它提供了多种预先构建的图表类型,例如条形图、折线图、区域图、日历图、地理图表等等。然而,对我来说,在大多数情况下,这个库有点过分,坦率地说我不建议使用它。...它漂亮设计确实能够使它在竞争中脱颖而出。 苹果、亚马逊、美国宇航局和许多知名公司都是 amCharts 的用户,这是非常令人印象深刻的。
JSX 基本上是一种折中,使我们能够使用与 HTML 非常相似的语法,使用编译器将其转换为 React.createElement 调用,而不是直接使用 React.createElement 语法创建...你可以在函数中放入任何代码,使它返回一些值,并在大括号内调用该函数。但是,尽量不要在 {} 内进行复杂的逻辑操作。...但在 React v16.8 引入 Hooks 之后就变得不同了,它能让组件在不使用 class 的情况下使用 state 以及其他的 React 特性,我相信新的 API 会慢慢取代旧的 API ,但这并不是我想鼓励你使用它的唯一原因...我在大型应用程序中使用了这两个 API ,我可以告诉你,新 API 比旧 API 更优越的方面有很多,其中我认为这些是最重要的:你不必使用 class 及其 state。...组件,无论我们是在原生调用还是通过像 React 这样的库调用,都有许多优点。首先,组件使你的代码更易读,更易于使用。
虽然像Redux这样的库是管理应用程序状态的流行选择,但你应该明白何时使用它们,何时不使用它们,而且在满足需求时考虑像Context API这样的简单替代方案也很重要。...使用useState()进行基本状态管理我们从使用useState()钩子进行最简单形式的状态管理开始。我们将探讨如何在功能组件内初始化和更新状态。...通过一个实际的例子,我们说明了Context API如何使我们能够在组件树中共享状态,消除了对属性钻取的需求。...利用React Query进行服务器状态管理对于涉及服务器端状态管理(如数据获取和缓存)的情景,我们引入React Query。...结论React状态管理提供了一系列选项,从useState()和Context API的简单性到像Redux这样更复杂的库。虽然使用Redux等大型工具很诱人,但评估应用程序的需求很重要。
而 ReAct 智能体通过引入工具调用机制,使模型能够在推理过程中动态获取信息、执行计算、访问数据库等,从而大幅扩展了其应用边界。...这种迭代循环架构使大型语言模型能够处理比单纯推理更为复杂的问题场景。...这些工具可以是任何使用 LangChain @tool 装饰器封装的 Python 函数,从而使大型语言模型能够在执行过程中动态发现和调用它们。...智能体节点构建 在定义自定义工具后,需要将其与大型语言模型集成,并在 LangGraph 节点内实现调用机制。...在当前配置下,智能体直接返回工具的原始输出,未对结果进行进一步的处理或重新表述。这意味着最终响应可能缺乏大型语言模型的额外上下文分析或内容总结。
工具 工具使大型语言模型(LLM)能够通过外部环境(例如Wikipedia搜索API、代码解释器和数学引擎)来获取信息或完成子任务。这包括数据库、知识库和其他外部模型的使用,极大地扩展了LLM的能力。...他们以算术为测试案例,对LLM进行了调用计算器的微调实验。...Toolformer:这个学术工作是训练了一个用于决定何时调用哪些API、传递什么参数以及如何最佳地将结果进行分析的大模型。这一过程通过微调的方法来训练大模型,仅需要每个API几个示例即可。...该工作集成了一系列工具,包括计算器、问答系统、搜索引擎、翻译系统和日历。...函数调用(Function Calling):这也是一种增强大型语言模型(LLM)工具使用能力的策略,它通过定义一系列工具API,并将这些API作为请求的一部分提供给模型,从而使模型能够在处理文本任务时调用外部功能或服务
实现 通过LICENSE文件声明 核心组件 访问令牌、授权服务器、资源服务器 版权声明、许可条款 主要约束 授权范围、令牌有效期 保留版权声明 典型应用 社交登录、API访问控制 开源项目发布、代码共享...应用场景 社交登录:使用微信/Google/Facebook账号登录第三方应用 API访问授权:如第三方应用访问用户的Google Drive文件 微服务间授权:在微服务架构中服务间安全调用 单点登录...应用场景 开源项目发布:如React、Rails、Node.js等大型开源项目 企业开源策略:公司希望广泛推广技术但保留商业机会 学术研究分享:研究人员希望成果被广泛使用 个人项目分享:开发者希望他人自由使用自己的代码...OAuth应用场景 微信登录:当你在某电商App点击"微信登录"时,该App使用OAuth向微信请求授权,获取你的公开信息 Google日历集成:项目管理工具使用OAuth获取用户授权后,可以将任务截止日期同步到用户的...Google日历 企业SSO:公司内部系统使用OAuth 实现单点登录,员工一次登录可访问多个系统 MIT协议应用场景 React框架:Facebook将React以MIT协议开源,允许任何公司自由使用
对组件进行更改也是一件轻而易举的事,而且这很少会导致整个代码库的更改链。 在React中,组件不会直接呈现给Dom。...它由不同的TypeScript库组成,可以导入到项目中,比如路由或ajax调用。 Angular应用程序总是有一个支持引导的根模块,通常有一堆特性模块。...想象一下用它编写复杂的组件层次结构。你可以玩一下the online Babel compiler 来获得这个想法。 React团队非常关注API的稳定性。...函数式风格使代码更易于编写、阅读和理解。 除了HTML,React还支持Web组件和呈现SVG。...它还使得维护大型代码库更便宜、更高效。 与其他框架中的组件类似,模块允许代码重用和由不同的人甚至团队进行并行开发。Angular社区还提供了带有可重用组件的预制模块。
、调休和补班信息的 ICS 格式日历,可用于 IPhone、Google Calendar、Outlook 等客户端订阅。...该项目的特点包括: 节假日信息来自中国政府网,一手信息、权威准确 包含最近 3 年的节假日信息,机器人自动维护,更新及时 日历标题包含放假、补班的天数信息 每个补班日程自动设置上班提醒,默认时间为 09...它只提供了足够使 DOM 操作和状态绑定变得像 React 一样舒适 (甚至更好) 所需功能,并将大部分工作委托给浏览器本身实现的标准 API。...易学易懂:VanJS 强调框架简单易用,在其 API 中只导出了 5 个函数,并与 React 相似。正因如此,通过教程可以很快掌握该框架并能满足开发者对全面 API 参考文献理解的需要。...TypeScript 支持:VanJs 对 TypeScript 提供完美支持,只需下载相应 .d.ts 文件即可享受类型检查、智能感知以及你喜欢使用 IDE 环境下进行规模化重构等各种强力辅助功能。
这个问题可以通过使用回调引用模式来解决 字符串引用 API 很难读,也很难用类型检查器进行静态分析 React 的严格模式警告开发者要么使用回调模式,要么使用更现代的 createRef API。...它还有助于使严格模式下的代码更具确定性。...所有这些日志现在都在任何函数、hook 等的双重调用期间被调用两次。 6. 遗留的 context API 的警告 与 ref API 类似,我们也有一个 context API。...小结 你现在已经介绍了 React v18 严格模式更新中的所有内容!我们已经看到了严格模式如何影响开发模式工具。它有自己的一组规则和行为,确保对代码库进行严格的警告和检查。...这不仅有助于开发人员使代码库为未来做好准备,而且还有助于重构。 官方 React 团队建议执行应用范围内的严格模式,以最大限度地利用它。
React react.js 中文论坛 react.js 官方网址 react.js 官方文档 react.js material UI react.js TouchstoneJS UI react.js...amazeui UI React 入门实例教程 - 阮一峰 React Native 中文版 Webpack 和 React 小书 - 前端乱炖 Webpack 和 React 小书 - gitbook...日历 PC 经典my97 强大的独立日期选择器 fullcalendar fullcalendar日历控件知识点集合 中文api 农历日历 超酷的仿百度带节日日历老黄历控件 日期格式化 大牛日历控件...弹出层式的全日历 jquery双日历 移动 大气实用jQuery手机移动端日历日期选择插件 jQuery Mobile 移动开发中的日期插件Mobiscroll Date library Datejs...滑屏效果 基于zepto的fullpage [WebApp]定宽网页设计下,固定宽度布局开发WebApp并实现多终端下WebApp布局自适应 判断微信客户端的那些坑 可以通过javascript直接调用原生分享的工具
目录 ---- 首先我们先来看一下文章的分区,以方便我们进行检索。 PS: 内容超长,请注意!...前言 目录 入门类 HTML 5 部分 CSS 3 部分 JQuery Angular JS React Vue Node JS JS Template 移动端 移动端 API 综合 API 其他 API...React ---- react.js中文论坛 react.js官方网址 react.js官方文档 react.jsmaterialUI react.jsTouchstoneJSUI react.jsamazeuiUI...各种日期日历 ---- 经典my97 强大的独立日期选择器 fullcalendar fullcalendar日历控件知识点集合 中文api 农历日历 超酷的仿百度带节日日历老黄历控件 日期格式化...Datepair.js 一个风格多样的日历 弹出层式的全日历 jquery双日历 大气实用jQuery手机移动端日历日期选择插件 jQuery Mobile 移动开发中的日期插件Mobiscroll
this.state.value2); return Hello world } } 这个 effect 函数将 memoize 给定的函数,并且仅当其参数之一更改时才会再次调用它...refreshContacts 会在每个组件渲染上意外调用获取联系人。在大型代码库和某些结构不良的组件中,嵌套的 useEffect 可能会带来让人头疼的麻烦。...膨胀的 API 在类旁边添加 hooks API 后,React 的 API 实际上增加了一倍。现在每个人都需要学习两种完全不同的方法。我必须说,新 API 比旧 API 晦涩得多。...像 React 这样的大型库在 API 中添加如此巨大的更改时必须非常谨慎,而且这里的动机其实并没有那么充分。 8. 缺乏声明性 在我看来,Funclass 比类更混乱。...几年前,当我从 Angular 1.5 切换到 React 时,我曾赞叹 React 的 API 是如此简单,文档也如此之薄。
无论项目大小,使代码更易于理解并在开发阶段捕获错误的好处已被证明是非常有用的。...调用该函数时,TypeScript 会检查提供的对象的类型是否正确,如果类型不正确,就会像在调用第二个函数的时候代码将无法编译并抛出错误。...它还具有接口、装饰器和其他使其更加健壮的功能——使开发人员能够编写极其全面的代码。这些功能在大型和企业风格的项目中尤其强大。...大量重复代码:有人认为 TypeScript 沉淀了大量模板代码,这会增加开发时间并使文件更难理解。在这种情况下,代码极简主义者可能更喜欢轻量级 Flow(或根本不进行类型检查)。...而如果你在开发一个大型项目,那么typescript应该是你最佳的选择,它庞大的社区让它的发展异常迅速,主流的框架源码都采用了typescript进行开发足以说明问题。
什么微前端 微前端是一种测试方法,它为独立团队拥有的web应用提供多种功能或模块,使它们更加用户友好和更小的体积。...mount -当注册的应用程序被挂载时,它将被调用。 unmount -当注册的应用程序被卸载时,这个函数将被调用。...您可以使用本机web浏览器事件机制进行通信,而且它不需要任何额外的库。 归纳 在许多情况下,微前端简化了开发,它们基本上是前端微服务的实现。...总结 微前端确实很强大,许多大型组织现在都在大规模地使用它,以使开发过程更加精简。它是一个开源资源,正在不断开发,并正在探索和测试以改进它。...你可以将较小的应用组合起来,使用微前端创建大型前端应用,但将其应用于所有类型的应用是不明智的。理解您的应用程序可以让你更清楚地了解实现微前端的场景,以便以最好的方式利用它们的好处。
React Native 是 React 和 Native 的混合体,原有的 Native 框架 API 被映射成 React Component 生命周期,编程语言也发生了变化,不变的是业务场景和逻辑复杂度...2.4 代码实现 2017下半年,我们在 React Native 实践初期,就决定全面使用 TypeScript,因为我们期望该技术栈未来能够可靠地支撑大型复杂项目工程。...presenter api bus、event bus 当模块需要对外暴露 api 和发送事件时,api bus和event bus被 presenter 方法调用;当外界需要调用 api 和广播事件时...Wrapper hell - 现有解决组件间状态逻辑复用的方案会破坏项目的组织结构,使项目变得难理解,抽象层组件会形成“嵌套地狱”。...六、总结 App 客户端技术栈从原生快速迁移到 React Native 之类的混合技术方案, 平台 API 变了,编程语言变了,但不变的是业务复杂性。
这个时候,我们思考一个问题,当我们重复调用summation(100)时,函数内部的循环计算是不是有点冗余?...1 react hooks提供的api,大多都有记忆功能。...而当我们使用useMemo/useCallback时,由于新增了对于闭包的使用,新增了对于依赖项的比较逻辑,因此,盲目使用它们,甚至可能会让你的组件变得更慢。...总的原则,就是当你认为,交换能够赚的时候去使用它们。...例如,在日历组件中,需要根据今天的日期,计算出当月的所有天数以及相关的信息。 不过,当依赖项会频繁变动时,我们也要考虑使用useMemo/useCallback是否划算。
本文将从以下几个方面介绍 hooks Hooks 在解决什么问题 Hooks 的 api 介绍 和如何使用 hooks Hooks 是怎么实现的 Hooks 在解决什么问题 React 一直在解决一个问题...一般情况下,我们都是通过组件和自上而下传递的数据流将我们页面上的大型UI组织成为独立的小型UI,实现组件的重用。...我们可以直接在组件中使用它们,或者我们可以将它们组合到自定义Hook中,例如useWindowWidth。使用自定义Hooks感觉就像使用React的内置API一样。...Custom Hooks 自定义组件 接着上面的监听窗口大小的代码,我们接着讲自定义 hooks, 证明 react hooks 是怎么使到组件内的逻辑可复用的。...不要在循环,条件或嵌套函数中调用Hook。 仅从React功能组件调用Hooks。不要从常规JavaScript函数中调用Hook。