这是我参与「第五届青训营 」笔记创作活动的第5天。今天课上学习了React框架,了解了React从诞生到如今的壮大的一个基本的过程,React中内置的JSX语言,是JS的语法扩展,我个人觉得JSX就跟之前学习过的TypeScript类似吧,因为TypeScript虽说类型与JS不同,但是本质上也是对JS的扩展,所以学习JSX的过程其实本质上也是在学习JS,底层其实就是JS的实现。老师也说了,其实本质上React是一个JS库,而不是一个框架,但是由于其功能强大再加上React社区的发展,React社区的生态已经非常完备了。React框架学习的主要就是学习它的组件,本质上就是封装一段HTML代码,并随时可以调用,这就是组件的概念,所以说本次青训营的第二个大项目组件库,我们要做的东西应该也就是这类东西了。React的组件是根据状态来渲染页面的,意思就是,每个组件都有状态,当组件的状态发生改变时,React就会根据新的状态重新渲染用户界面。组件有一个叫生命周期的状态,分别为挂载(Mounting),更新(Updating),卸载(Unmounting),挂载是组件不发生状态改变时的“静息状态”,更新就是组件state发生变化时,卸载就是组件从DOM中移除,也很好理解。今天课上还有一个让我比较感兴趣的点就是,可以用React写一些各个端和系统的原生页面和App,比如IOS应用或者Windows PC 端应用。可以通过Electron这个跨平台的工具实现,所以只要学好JS和React,就可以自己尝试开发一款APP了。还有就是我接下去要学习的Next.js来做青训营的第一个大项目,它是基于React的一个SSR开发框架,所以很多东西都是以React为基础的。