演示 Vue 和 React 中的 key 的作用|学习笔记

简介: 快速学习演示 Vue 和 React 中的 key 的作用

开发者学堂课程【React 入门与实战演示 Vue 和 React 中的 key 的作用】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/585/detail/8086


演示 Vue 和 React 中的 key 的作用


内容介绍:

一、JavaScript 语句后是否加分号

二、演示 Vue key 的作用

三、注意事项


一、JavaScript 语句后是否加分号

可以在浏览器里面搜索,没有应不应该,只有喜不喜欢。

JavaScript 语法长得像 C-like 不代表它本质上和 C 是一类语言,所有直觉性的”当然应该加分号“都是保守的、未经深入思考的草率结论。

后面新设计的语言里可选分号的多的去了,光是”可以加分号但是大家都不加”的语言就有:

Go,Scala,Ruby,Python,Swift,Groovy...

如果[ { + - /五个符号开头的之一之前都必须加;如果不是这五种情况其他情况都可以不加

});

[1,2,3].forEach()   这一行是[开头,上一行就必须加;

[1,2,3].forEach()  这一行开头加;也可以

 

二、演示 Vue key 的作用

image.png

运行出来了,但出现警告,在数组中的每一项必须加 key 元素。React Vue key 的作用是完全一样的。

演示 Vue key 的作用

代码案例:

<!DOCTYPE html>

<html lang=”en”>

<head>

<meta charset=”UTF-8”>

<meta name=”viewport”content=”width=device-width,initial-scale=1.0”>

<meta http-equiv-”X-UA=Compatible”content=”ie=edge”>

<title>Document</title>

<script src=”./vue.js”></script>

</head>

<body>

<!--容器-->

<div id=”app”>

<ul>

<li v-for="item in list">编号:({iten.id}}-姓名: {{item.name}</li>

</ul>

</div>

<script>

const vm = new vue ( {

el: '#app ' ,

data: {

list: [

{ id: 0,name:'赢政’},

{ id: 1, name: '吕不韦},

{ id: 2, name:'嫪毐’}

]

}

})

<!--添加新名称-->

<div>

<input v-model=”uname”/>

<button @click=”add”>添加</butten>

</div>

image.png

<ul>

<li v-for=”item in list”>编号:{{item.id}}---姓名:{{item.name}}

image.png

<ul>

<li v-for=”item in list”>

<input type=”checkbox”>编号:{{item.id}}---姓名:{{item.name}}
image.png

<ul>

<li v-for=”item in list”:key=”item.id”>

<input type=”checkbox”>编号:{{item.id}}---姓名:{{item.name}}

image.png

如果在进行v-for或者map循环的时候,如果需要保持它的状态(这一项被选中了,或者没有被选中),就需要提供一个key。否则状态会混乱。

不管什么情况下,如果使用了v-for,就一定要加key

</ul>

</div>

<script> 创建script的标签

const vm new Vue({  在标签里面创建实例

e1.’#app’,

data: {

uname:’’,

list:{

{id:0,name:’嬴政’}

{id:1,name:’吕不韦’}

{id:2,name:’嫪毐’}

]

},

mothods: {

add() {

//出现一个新对象

var newuser = { id:this.list.length,name:this.uname }

this.list.push(newuser)

var newuser = { id:this.list.length,name:this.uname }

this.list.unshift(newuser)

image.png

}

}}

</script>

</body>

</html>

代码解析:

新建一个文件夹 test,找到一个 vue 的文件,放到 test 文件夹中。再新建一个testkey.html,导入 src=”./vue.js”当前目录下 vue.js,在页面上<div id=”app”>容器,

创建一个 script 标签,在标签内部创一个 vm 的实例,el 控制#app区域,

data 对象 id:0,name:嬴政,建一个数组。把这个数组渲染在页面上。添加新名称,div中<input v-model=”uname”/>,<button @click=”add”>添加</butten>。

uname 需要默认,复制添加中的方法名称放到 methods 中,拿到一个 uname,组织成一个对象 push 进去,var newuser = { id:this.list.length,name:this.uname }拼接出一个新对象。

在每一行前面加一个复选框,在文本之前放一个checkbox,把push改成unshift。id 为一类,给每一个li加上一个 key=”item.id”,如果在进行v-for或者用map循环的时候,需要保持它们的状态,选中或没被选中就是一个状态,需要保持状态,提供一个 key,否则状态会紊乱,动画必须要提供 key,不管什么情况下,只要用了v-for 都需要加 key。

找到 index.js,forEach 需要加 key,注意 React 中,需要把 key 添加给被 forEach或 map 或 for 循环的直接控制元素。


三、注意事项

注意:

React 中,需要把 key 添加给 被 forEach 或 for 循环直接控制的元素

arrStr.forEach(item => {

const tempt = <h5 key={item}>{item}</h5>

nameArr.push(temp)

})

{arrstr.map(item=><div key={item}><h3>{item)</h3></div>)}

</ div>, document.getElementById ( ' app '))

key 中直接用 Id,key 给直接被 map 或者 forEach 控制的元素,假如h3外面包了一个div,v 里面放了一个h3,div是h3的父元素。

key 直接加给 div。

相关文章
|
20小时前
|
JavaScript 前端开发 API
详解React与Vue的性能对比
详解React与Vue的性能对比
93 0
|
20小时前
|
前端开发 JavaScript 开发者
【专栏:HTML与CSS前端技术趋势篇】前端框架(React/Vue/Angular)与HTML/CSS的结合使用
【4月更文挑战第30天】前端框架React、Vue和Angular助力UI开发,通过组件化、状态管理和虚拟DOM提升效率。这些框架与HTML/CSS结合,使用模板语法、样式管理及组件化思想。未来趋势包括框架简化、Web组件标准采用和CSS在框架中角色的演变。开发者需紧跟技术发展,掌握新工具,提升开发效能。
|
20小时前
|
开发框架 缓存 前端开发
|
20小时前
|
JavaScript 前端开发 开发者
深入比较Input、Change和Blur事件:Vue与React中的行为差异解析
深入比较Input、Change和Blur事件:Vue与React中的行为差异解析
|
20小时前
|
JavaScript 前端开发 API
Vue与React数据流设计比较:响应式与单向数据流
Vue与React数据流设计比较:响应式与单向数据流
|
20小时前
|
JavaScript 前端开发 开发者
你知道 React 和 Vue 的区别?
【4月更文挑战第16天】React与Vue是两种流行的前端框架,各有特色。React是JavaScript库,强调组件化和函数式编程,使用虚拟DOM提升性能;Vue是渐进式框架,提供全面解决方案,更易上手。React采用单向数据流和状态管理库如Redux,Vue则有双向数据绑定和响应式系统。组件通信方面,React依赖props和context,Vue更灵活,提供插槽和提供/注入。虚拟DOM实现上,React注重效率,Vue强调易用性。学习曲线方面,React社区活跃但学习难度稍大,Vue文档清晰,易于入门。选择框架应考虑项目需求、团队技能和个人偏好。
9 0
|
20小时前
|
JavaScript 前端开发
【干货分享】选择 Vue 还是 React?项目框架选择的实际分析
【干货分享】选择 Vue 还是 React?项目框架选择的实际分析
|
20小时前
|
前端开发 JavaScript API
Vue和React,哪个更适合做电商
【4月更文挑战第10天】Vue和React是电商网站开发的热门框架。Vue以其简单易用、响应式数据绑定和完善的生态系统受到青睐;而React凭借强大的组件化、卓越性能及丰富生态脱颖而出。选择取决于项目需求、团队技术栈和性能要求。在决定前,可进行技术调研和原型开发。
25 3
|
20小时前
|
JavaScript 前端开发 API
Vue,React,AngularJS,各个优缺点?
【4月更文挑战第10天】Vue、React和AngularJS是三大主流前端框架,各具特色。Vue以其简单易用和组件化深受喜爱,但生态系统相对较小;React以强大的组件化和虚拟DOM技术提供高性能,但学习曲线较陡;AngularJS功能全面,支持双向数据绑定,但学习成本高且可能存在性能问题。选择框架应根据项目需求和技术栈综合考虑。
22 3
|
20小时前
|
JavaScript 前端开发
vue和react的区别
vue和react的区别