摘要: 定义: Redux是状态统一管理容器,为了解决不同组件之间状态不统一的问题。 特点: Redux的数据流动是单向的,形成一个闭环循环。 如上图:我们从组件作为切入点,组件的状态值从Store获取到,如果想改变Store中的值,禁止直接逆向操作,只能先通过dispatch方法传入对象类型的action 阅读全文
posted @ 2022-02-19 09:58 xqcokid 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 试想下在复杂的项目中,CSS样式会不断累加,看到纯数值的属性值,我们很难理解它们的含义,如果我们可以给它们取一个变量名来表示它们的含义,这样更加便于我们理解和复用,于是就有了CCS变量的出现。 如何使用它呢? 在定义变量时一定要添加--前缀,在使用它时需要使用var()函数,并且它也有作用域范围,如 阅读全文
posted @ 2020-12-16 16:02 xqcokid 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 我们知道起初的JavaScript有些许诟病,比如下面代码: const a = { width: 10, height: 20 } console.log(a.heigth * a.width) // NaN 拼写错误导致a.heigth为undefined,所以结果为NaN,可是我们根本没有定义 阅读全文
posted @ 2020-12-13 19:50 xqcokid 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 如何使容器里面的内容垂直水平居中呢? <div class="container"> <div class="center"></div> </div> .container{ position: relative; } .center { position: absolute; top: 0; r 阅读全文
posted @ 2020-12-12 16:46 xqcokid 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 理解了promis语法,我们就可以来学习async和await关键字,它们是ES2017的新特性,简单点说就是promise语法的语法糖,目的就是为了让代码看起来更像同步代码,进一步增加了代码的可读性。 这两个关键字都是一起使用。我们来写一个只用promise语法写的代码: const p = ne 阅读全文
posted @ 2020-12-12 11:00 xqcokid 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 通过网络获取数据,可能会获取失败返回错误,处理这两种情况,一开始使用回调函数,现在使用Promise对象,此对象里面就包含了需要处理的这两种情况,分别用resolve和reject函数,它们的参数就是从网络上接收到的数据(可能也会是错误信息),但是有且仅有一个函数被执行,接着Promise对象返回新 阅读全文
posted @ 2020-12-12 09:45 xqcokid 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 核心概念: 1.flex-direction,分main轴,以及相对main轴的纵轴(cross axes) 2.剩余可用空间: 2.1 这个与flex-grow、flex-shrink、flex-basis有关。实际情况三个属性一起使用,并通过简写表示,或者是通过预定的关键词。它们都是根据比例来实 阅读全文
posted @ 2020-12-10 12:16 xqcokid 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 使用react-slick制作一个切换卡片的React组件。 import Slider from "https://cdn.skypack.dev/react-slick" class ReactSlider extends React.Component { render() { const s 阅读全文
posted @ 2020-12-09 20:01 xqcokid 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 看完React官网的核心知识点,思考如何应用在实际的项目中呢? 第一步:先将UI设计图划分成各个React组件,划分的规则可以根据最小功能单位,或者是根据JSON数据模型。 第二部:通过React写静态页面结构。 第三步:添加动态交互功能。 总结:子组件的数据源来自父组件,边界情况下会出现undef 阅读全文
posted @ 2020-12-08 11:00 xqcokid 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 在class之前,如何实现类似的特性,还是使用函数(function) function Foo(name) { this.name = name } function Bar(name, avatar) { Foo.call(this, name) // 调用Foo来继承 this.avatar 阅读全文
posted @ 2020-12-05 12:00 xqcokid 阅读(112) 评论(0) 推荐(0) 编辑