由于最近没有什么项目可做,所以学习了react框架,这里只是作为自己的笔记作为以后参考,如果要学习还是去官网去学习比较好一些。
首先ES6肯定是要有一定的使用基础的,现在大多都是基于es6来开发。
babel
由于现在ES6对浏览器的支持还不是那么好,所以babel就应运而生了,它的主要作用就是把ES6的代码转换成我们之前没有ES6时的代码,否则有好一些浏览器是不认识ES6的语法的。
初期学习的话还是不要依赖于react的脚手架进行学习吧,就在之前html页面中引入js文件就可以了。
安装nodejs并下载三个文件
我在这里就假装你有node的一些基础了,现在一个前端应该都对node有一定了了解了,如果你还不了解,抓紧时机学习一下哦,现在前端的好多构建工具什么的都是基于node npm 来搭建了,
安装上node的时候会自动连带着npm会一起下载下来,如果知道如何下载, 去看下载教程
下载三个npm包
babel-standalone react react-dom
直接在你要工作的文件夹目录中打开命令行,使用 npm i -S bebel-standalone react react-dom 进行下载,我们需要的是这三个包里面的三个js文件。
bebel-standalone 由于react使用的是 jsx语法,所以我们需要这个bebel来把这jsx语法转换成浏览器可以识别的代码。
还有一个是react,一个是react-dom,其中react是react的核心代码。react的核心思想是虚拟Dom,其实虚拟Dom改变没有那么复杂,简单而言就是一个js的对象来表达一个dom包含的东西。包react-dom的核心功能就是把这些虚拟Dom渲染到文档中变成实际dom,当然了除了渲染这个功能之外还有一些其他的方法,这里就不多说了。
引入js文件
三个js文件的位置都在刚才下载下来的node_modules里面,具体位置如下,引入到页面中
2. 基本jsx语法
所有的前提都是基于引入上面那三个js文件而来的,这里就不多写了
此时打开浏览器就可以看到页面中#app那个div里面会有h1的标签,再看下面一个例子
可以打开浏览器再来浏览一下,你根据页面中的dom结构,和这个比对一下发现这段HTML代码居然就被插入到页面中了,你可能没有发现你居然在js代码中写了HTML代码,而且你没有用引号引起来,厉害。
其实这种写法就是jsx语法,就是在js中写html或者说是xml就是jsx语法,因为经过了bebel编译所以是没有问题的不会报错的。
注意: 这个里面的标签是必须需要闭合的
3. 注释的写法
我们一般都会用 ()把我们要写的HTML代码包裹起来 换行重新写,这样结构清晰一些, 这里面的HTML代码只能有一个根节点
在HTML代码包裹的地方你想要写js代码 就只能使用 {} 包裹起来写了,写到他们中间了。
只要记住 一旦你想要在html包裹的地方写js代码 就要写到 {} 中间 , 在 {} 中间可以随意的写js代码
这里的h1标签
比如 这样 return (
这个样子的
)
4. 插值
如何把js中的数据插入到 自己写的 HTML代码里面呢, 也是使用 {}的样子, 就直接写js代码就好了
那里面还可以写一些函数,可以渲染数组之类的东西, 也可以是一个函数的返回值,看下面的代码
-
arr.map((item,index) =>
- {item}
5. 节点属性
看下面的代码 你写上去,去浏览器中查看一下
会发现这样的错误
意思是让你把value改为 defaultValue,类似的错误还有一些其他的标签,当你用错的时候,看一下这个报错应该可以改为正确的,如果改不正确可以百度查一下
class -> className
标签一定要闭合
value -> defaultValue
checked -> defaultChecked
6. 列表渲染
可以把上面的代码插入到页面中试一试, arr4的话,是需要自己把结构拆分出来的, {} 会自动把数组一个一个的渲染出来
7. 事件处理
只是事件是需要驼峰来命名了,它的好多东西和vue非常非常像
如果你看了我的文章有了一些收获我会非常高兴的,由于能力有限,文章有的部分解释的不到位,希望在以后的日子里能慢慢提高自己能力,如果不足之处,还望指正。