React基础(一):6个简单 demo 轻松学会 React 开发模式(三)

声明: React基础(一)的内容来自腾讯课堂 Web前端【红点工场】的视频,原作者是 Skipper 老师。

Demo 5:

接下来的 Demo 5 更加接近 React 的开发模式,就是页面没有 HTML,只有纯 JS 来完成应用开发。

那么这句话是什么意思呢?我们可以用最开始的点赞按钮来做例子:

那么我们可以看到,在这里,我们已经没有 button 标签了。

我们需要注意的是:在 React 里面,一切的 HTML 都是通过 JS 来生成的,也就是 JSX。

因为 Demo 是原生的,那么我们可以来模拟实现:

现在我们可以看到的是,这个按钮什么功能都没有。

那么接下来,我们怎么运用之前那种根据 state 来修改程序状态的效果呢?

可以看到,我们在调用 render 方法的时候,会把以前的 HTML 全部清空,然后在赋值新的 HTML。

新的 HTML 里面的内容,又是根据 state.like 来决定的。

那么字体颜色的切换,怎么来做呢?

最后,还有一个点击事件应该怎么添加上去呢?

那么我们来走一遍流程:

当我们点击按钮的时候,触发了 handleClick 方法,

handleClick 触发了 setState 方法,

setState 又修改了 state,并调用了 render 方法,

然后 render 方法根据 state 获取到 like 属性,

最后重新渲染一整个 button 标签。

也就是这样一个无限循环:

点击 button --> 触发 handleClick --> 触发 setState --> 修改state --> 触发 render --> 渲染 HTML --> 点击 button......

这个就是更加接近于 React 的开发方法,也就是说,我们的 HTML 是纯粹的用 JS 来生成的。

那么我们肯定会有一个疑问,就是:

每次我们改变一点小小的东西,那么 setState 之后,就会导致整个 HTML 的更新,不会很卡吗?

当然会很卡。但是 React 会帮我们解决这个问题,它的性能是很优越的。

因为我们这个 Demo 是原生的,所以我们能够理解这种概念就可以了。

那么相对于之前的代码,Demo 5 做了什么改变呢?

首先,它没有 HTML 了,是纯粹的 JS 去生成 HTML。

这种方法使我们的程序更加的可控。

发布了61 篇原创文章 · 获赞 3 · 访问量 4377

猜你喜欢

转载自blog.csdn.net/weixin_43921436/article/details/103016428