react入门
由于最近没有什么项目可做,所以学习了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代码只能有一个根节点 1 const element =
const element =
{
document.querySelector('#app'
element 的内容还可以是一个函数的返回值这里的h1标签比如 这样 return ( 这个样子的 ) 4. 插值如何把js中的数据插入到 自己写的 html代码里面呢, 也是使用 {}的样子, 就直接写js代码就好了 let data = name: '狗蛋'
const element =
?那里面还可以写一些函数,可以渲染数组之类的东西, 也可以是一个函数的返回值,看下面的代码 let arr = 'name','age','sex'
5. 节点属性看下面的代码 你写上去,去浏览器中查看一下 const element =
会发现这样的错误 意思是让你把value改为 defaultValue,类似的错误还有一些其他的标签,当你用错的时候,看一下这个报错应该可以改为正确的,如果改不正确可以百度查一下 class -> className value -> defaultValue ? 6. 列表渲染
const arr = 1,2,3
const arr1 = 'a','b','c'
const arr2 =
{arr}
const element2 = ( let elementStr = arr4.forEach((item,index) => elementStr.push(可以把上面的代码插入到页面中试一试, arr4的话,是需要自己把结构拆分出来的, {} 会自动把数组一个一个的渲染出来 7. 事件处理只是事件是需要驼峰来命名了,它的好多东西和vue非常非常像 console.log('fn事件' const element =
alert(1 console.log('我这里写了一个函数' }} />
alert('es6的语法')} />
);
? 如果你看了我的文章有了一些收获我会非常高兴的,由于能力有限,文章有的部分解释的不到位,希望在以后的日子里能慢慢提高自己能力,如果不足之处,还望指正。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |