redux

敖丙教我写算法

早过忘川 提交于 2020-11-23 08:36:35
前言 有一说一,敖丙还是有东西。 说实话,第一次写算法的怪怪,有点紧张,毕竟是一个数学怎么也及不了格的小菜。 大一上期末全班倒数第4,噗呲,学渣实锤~ 写之前有在想,怎么把算法写的比较有意思,就像大学高数课,说实话,老师讲的是真心无聊。。 如果不是被所谓的学业规则所限制,真的很难听下去。 设 M(x0,y0,z0) 为平面上的已知点,n=(A,B,C) 为法向量,M(x,y,z) 为平面上的任一点,则平面的点法式方程为 xxxx,听着听着就睡着了。。。(老师,我扛不住了!!) 所以,怪怪会尽量写得有趣一点,让你看完差不多可以记住这个算法思想。 今天的题目是这样的,给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 简单解释一下。 比如给定字符串“ 丙丙接水怪接 ” 第一步,找出字符串中不含有重复字符的子串 丙 丙接 丙接水 丙接水怪 水怪接 第二步,计算出各个子串的长度,并取最大值。 在这里最大值显然就是 4,所以答案就是 4 ok,做完例题,其实很容易可以发现,核心就是第一步,找出不含有重复字符的子串。 那究竟要怎么找呢,为了便于第一次看这个算法的小伙伴好理解,我画了几张图,大家看完还不懂,加微信骂我 渣男 好了! 找两把枪,起始的时候都指向第一个字符。 我们顺利的找到了第一个不重复的子串,“丙”。 接着保持红枪不动,绿枪向后移动一位。 此时发现两枪之间,字符重复了

React Hooks实践体会

为君一笑 提交于 2020-11-22 01:40:21
一、前言 距离React Hook发布已经有一段时间了,笔者在之前也一直在等待机会来尝试一下Hook,并且是尝试用Hook的方式构建整个项目,正好公司的新的存储项目启动了,需要一个新的B端的web管理平台,机会就来了。笔者公司之前的前端项目都基于笔者之前在React Class组件以生命周期的方式下搭建的工程化框架和业务最佳实践的架子。其他非笔者开发和维护的项目也都基于这套架子。组内有个小伙伴参加了所在城市在三月底举行前端开发者大会,回来给我说会上讲Hook了,但基本上都是在讲官方文档,并没有讲实际的实践,小伙伴觉得太low了。笔者当时心想在下一个项目里一定要玩把大的,推翻我们之前那两个项目的架子设计,重来一遍,不使用任何Class组件+生命周期的方式,采用全函数式组件+Hook的方式,仅保留Redux那套体系,以及一些经过长期业务沉淀下来的、可复用的工具函数等东西。 要这么做还有一个重要理由就是,在后面一些组件库的大版本更新有很大的可能都会抛弃对老生命周期的支持,在后面进行组件库升级的时候,会被迫升级React,进而会面临大量的业务逻辑修改。而换成Hook以后,可以直接在业务代码中彻底告别生命周期的组件设计方式。毕竟这个项目是长时间支持的,不可能只维持几个月,要为后续的迭代提前考虑。 在项目未进入正式开发前的两周预研时间里

React Redux安装、使用

南楼画角 提交于 2020-11-20 18:26:20
Redux是一个充当状态容器的库,可帮助管理应用程序数据流;它是零依赖的,可以配合其他框架或者类库一起使用。在Redux架构中最重要的三部分是Actions,Store 以及 reducer Redux 工作流程 image.png 对照图例讲一个故事,更容易的去理解Redux!!!! Redux Flow是一个图书馆 借书的用户(组件) React Component , 它说要借***书(对话) Action Creators , 管理员 Store 接收到了对话,管理员去图书库 Readucers 里找这本书, 如果有那么它把书借给用户 安装 npm install --save redux 创建Redux 在src目录下新建store文件夹创建 index.js store import { createStore } from 'redux' ; //导入redux , 从 redux 引入一个方法 createStore import reducer from "@/store/reducer" ; //导入库reducer, const store = createStore ( reducer , window . __REDUX_DEVTOOLS_EXTENSION__ && window . __REDUX_DEVTOOLS_EXTENSION__ ( ) )