00:00
下面啊,我们一个例子来去。用一下它的语法来去实践一下,因为你不实践就看着这个,那你没什么感觉,那你用你肯定用不了,必然用不了。啊,来,我们来说一下,我们要去写这个例子,刚才我们已经打开了。首先得说明一个事情,这个例子本身来说是不需要用到Du。为什么这么说呢?因为最终这就是一个组件。我们说过redux用来管理什么呢?多个组件共享状态的,听懂了不?但是官方就提供了这样一个例子,最简单,第一个例子,也是所有去学reduction的人,首先你就要去学习这个例子,把这个例子给做出来。嗯,只是说官方的那个例子里面呢,没有这个我做了一个做了一个改善,因为这个呢,能说明那个数据的问题。啊,没有这个数据有很多语法说不啊说不出来。这能听懂吧?啊,首先要强调一下,我们本身是不需要用relax的,但是为了去学它的语法,我们就以这个例子来去说明它的语法的一个使用。
01:08
啊,后面呢,我们再通过做项目来去说多个组件共享的问题啊,怎么用好,先不用什么,先直接用rest把这功能实现,这个不难吧。来,我们来快速的做一下啊,快速的做一下。好,这个时候说一下啊,这个时候说一下我这样啊,我在这一个当前是ma分支,我来根据ma分生成一个写用redux版本的分支可以吧,就别在max分支上改了,是不是也别在第一个分上改了来什么意思,看好了。Get。Checkout-B哪一个什么分子了?北大分之。这能听懂吧?焦虑。OK吧,OK。那相当于那个第一个分支是不是没有用版本。
02:02
那我们的这个是不是将用瑞达版本对不对。这能懂吗?能懂,不过呢,我们也先不去写项目的功能,我们得写些测试代码呀,听懂不好,那先啊来,我把这一个。把他的名字。给改一下。啊给改一下,我还是把它说明是我们应用的,诶这改不了,原因是什么呢?是因为我们正在运行,我把先把它。关了再去改一下。现在改一下啊叫APP。啊,我准备去写Du相关的测试,不写应用,所以我得先啊去写我自己应测试的。SC,那至少肯定有什么。两个文件,一个是入口,GS叫什么index等JS,对不?还有一个是我至少应该有一个APP的组件吧。
03:03
这能听到吧,啊APP。没什么,没问题,好来这个index其实跟我们以前什么基本上没事,我在在写就有点浪费啊,浪费时间,没必要把它捞过来,把该删的东西都删掉啊,该删的东西都删掉。啊,这个也也不写这么注释了。这能不能看到,这是最最基本的代码吧。那接着呢,我去写我的什么APP是不是就行。这能听懂不,那这个就是我的APP是吧,这就我APP好了,我把这个给他启动起来啊。大家好。来,那这个界面最简单,上面一个P标签,下面下面好多button是吧,还有一个select吧。还有一个select来写一写,比如说先拿一个P标签,里面是点击了多少次,诶这个多少次应该是我的一个什么。
04:07
是不是状态数据。这能懂吧,啊can初始之后意你。那我这个地方是不是就应该取出状态数据进行显示?This,点什么是state.com可以吧?当然也可以用结构是不是?那我我这里呢。这能不能听到下面啊下面啊来我就把它把下面的包在一个div里面得了,好那这个时候呢,我是先来一个什么。Select select里面有很多个什么。是什么东西?O撇而凹里面应该是这个样子的。这个是二,这个是二对不对,三三能不能看懂。
05:02
面积吧,下面是不是有几个八。是吧,八来这个是加号,我先写好一个,而且每个八是不是都有点击,我写好了再复制啊,这里面是指定一个监听的回调,This点我们这个干嘛去了,是不是去增加去的。点加号增加吧,好,那我来这个时候就把这个复制四个呗。美女吧,这个是解,那就是什么equipment,第1EQUIPMENT好,这一个呢,是不是成啊,不是改成是rement if order order什么意思呢,奇数,这不是我说是奇数。能听懂吧,那也就是说,如果当前的次数是奇数的时候,我才增加,如果少数了。不整加,这里面我写个方名叫equipment if什么包。
06:01
下面这个是cment think think什么意思呢?知道吗?那认识?啊是个什么意思?异步。同步怎么说?Sink。能听懂吧,加了A是a think是异步,Think是同步啊,这两个单词要认识啊,因为同步异步这个概念不经常见吗。你认识这个单词很容易就能看出来了,对吧?好,那下面我是不是去写。对应的回调函数去处理是不先来写一个实现一个,再复制粘贴改改就行。好来我要去,诶我先写个增加的啊。我这个是不是点击了增加按钮,对吧,我是不是要把我的状态是不是增加一定的数量,那我是不是得到这个select的值。
07:05
得了来是不是找到select,那得用ref吧,是不是用了ref技术,Ref技术首先第一步。啊,在里面创建一个容器是吧,一共有三步要做啊来首先第一步啊是react。点什么create if是创立if容器,给它存到this里面去,对不对?嗯,我们就叫它number吧。可以吧?可以,好了,接着把这个容器交给我要找的那个标签是不是?通过什么属性指令ref,那它就会自动的往这个容器里面加一个什么属性current,属性值是谁?这个标签对象。
08:00
是不,我在这里面是不是要去取当前指定的number值。可能是一,可能差,也可能三,对不对啊,非常简单,this.number if,点什么current,这是得到了一个的标签嘛,他一个属性叫什么value值,但这个值是不是一个字符串呢?我们要进行加减运算,最好把它变成数值类型是不是?能听到不能听到,那接着我是不要更新这个状态,给他的状态加上这个值。那就是因为这个太简单,我也不写什么注释了啊,This列side是,那我是用对象的模式还是用函数的模式?函数的模式因为在原有的基础上加上一个值。不依赖于前面吗?不是说指定为三或者指定二,那就没意思了,是不是是不是加是吧?好,那此时我们因为函数模式,那就来一个state,来一个箭头返回一个对象是吧。
09:10
修改一个值,Count的值修改为多少呢?是在原本的值的基础上加上一个什么?是吧?这能不能看懂,能好了,那这个事情搞完以后,那后面不就是有四个吗?一共有四个是不是加上三个是不是就可以了。来,分别去写就行。把它先改好,因为容易忘记。最后一个。第二个,嗯,第二个应该是叫第的是吧。没什么好,没问题来下面这一个唯一要改的是什么?解。
10:00
是不是,而这一个增加得有条件。是不得有条件,什么条件呢?就是当前的状态是个什么?是个奇数,那我是不是可以写this.state点什么count模拟什么啊,等等于。一是个基数嘛。那么呢?能看懂啊好。最后一个。我什么时候才更新状态?这个地方严一五,我说什么一秒之后才去更新。能听我意思吧,那就来一个set out呗。是吧,紫立威是吗?一秒就是1000是吧。里面还这么多吧?这没问题吧,这个要注意啊,一定要用什么。箭头函数,因为不然的话,这些问题是不是。
11:03
有问题。这个应该是比较基本的吧。啊好,那现在我们就来去看一下,我们当前的看他用的这个版本是不是可以的,正常情况应该是肯定没问题的啊。好,如果我们写完的版本以后啊,如果可以了,那下一步我们是要用的版本吧。嗯。啊,咋这么慢哦对,因为代码还是有点多啊,平常他们说应该挺快的呀。哎,来了是吧。来下面稍微的有挨的有点紧是吧,这个好做。嗯,加一些什么,NBSP就拉倒了。So I go hi dad。那这里面我就可以把它们也隔开一点是吧,这样看起来舒服一点。
12:03
可以吧,可以好了,来看一下。整理。是不是可以?啊,能不能增加。能不能听见?不能。因为手术是吧,能不能利益增加。不能过一秒后才增加。跟你是基数有关系吗?没有,我现在是一加一,当我也可为一加三,可不可以了吧?没有问题,那这次能这样吗?不来。功能是可以的吧,这没这这最简单的事情。嗯,来,我们就以这一个应用来去说明re,它如何来去进行使用。
我来说两句