react函数式组件(不含hooks)
1.react中组件有两种,函数式组件及类式组件,下面将简单记录下函数式组件的学习
函数式组件的定义就如同他的名字一样,直接定义一个函数就行<!DOCTYPE ht<html lang="en">
1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 7 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 8 <title>函数式组件</title> 9 <link rel="shortcut icon" href="../favicon.ico"> 10 </head> 11 12 <body> 13 <div class="test"></div> 14 <!-- 引入react --> 15 <script type="text/javascript" src="../js/react.development.js"></script> 16 <!-- 引入react-dom --> 17 <script type="text/javascript" src="../js/react-dom.development.js"></script> 18 <!-- 引入babel --> 19 <script type="text/javascript" src="../js/babel.min.js"></script> 20 <!-- 注意此处type为babel --> 21 <script type="text/babel"> 22 //1.创建函数式组件 23 //首字母必须大写 24 function Demo() { 25 console.log(this)//此处的this是undefined,因为babel编译后开启了严格模式 26 //函数必须有返回值 27 return <h2>我是用函数定义的组件,使用于简单组件的定义</h2> 28 } 29 //2.渲染组件到页面 30 //render参数必须写组件标签· 31 ReactDOM.render(<Demo />, document.querySelector('.test')) 32 // ReactDOM.render(Demo(), document.querySelector('.test')) 33 34 /* 35 执行了ReactDOM.render(<Demo />...之后,发生了什么 36 1.React解析组件标签,找到了Demo组件 37 2.发现组件是使用函数定义的,随后调用该函数,将返回的虚拟DOM 转为真实DOM,随后呈现在页面上 38 */ 39 </script> 40 41 </body> 42 43 </html>
需要注意的是组件的名字一定要以大写字母开头,否则在ReactDOM中调用时会被当成标签名并且报错(因为它不认识这个标签)
推荐这些技术文章:
虚拟DOM和render()函数
虚拟DOM
vue在DOM之上增加一个抽象层来解决渲染效率的问题,这就是虚拟DOM。
虚拟DOM使用普通的JavaScript对象描述DOM元素,每一个虚拟节点都是一个VNode实例。vue在更新真实DOM前,会比较更新前后虚拟DOM结构中的有差异的部分,然后采用异步更新队列的方式将差异的部分更新到真实DOM中,从而减少了最终要在真实DOM上执行的操作次数,提高...
064_Js常用的五大事件 onclick nochanger onload onsubmit onblur
事件是电脑输入设备与页面交互的响应。
onload加载完成事件:onload事件 是在页面被浏览器加载完成之后。自动触发的响应
onclick单击事件
onblur失去焦点事件
onchange内容发生改变事件 经常用于select下拉列表选中后的内容发生改变时候触发
onsubmit表单提交事件 经常用来在表单提交的时候验证所有表单项是否合法。
事件的注册又分为静态注册和动态...
class与style绑定
绑定HTML class
对象语法
可以给v-bind:class传递一个对象,以动态切换class:
<style>
.active {
width:100px;
height:100px;
background:green;
}
</style>
<div id='ap...
主要记录在工作中对于父子组件之间的传值和刷新。 知识点我总是模糊,记录下来方便自己查看,欢迎大家给建议。 👉我的个人博客👈
组件通信
&nbs...
五、模板语法
模板引擎是一种可以让开发者把服务端数据填充到html网页中完成渲染效果的技术。它实现了把前端代码和服务端代码分离的作用,让项目中的业务逻辑代码和数据表现代码分离,让前端开发者和服务端开发者可以更好的完成协同开发。
静态网页:页面上的数据都是写死的,万年不变
动态网页:页面上的数据是从后端动态获取的(比如后端获取当前时间;后端获取数据库数据然后传递给前端页面)
Django框架中...
0、参考
layDay日期格式不合法报错解决
laydate.render报错:日期格式不合法
1、前言
在页面使用laydate,渲染控件后点击赋值,提示日期格式不合法
点击控件时,提示日期非法,在laydate.js找到 "t.elem.appendChild(n)," 将其注释掉
2、代码
<!DOCTYPE html>
<html lang="zh" xmlns:th=...
1. multiple
此属性允许用户输入多个值。 您可以将 multiple 属性与 <input> 标签和 <select> 标签一起使用。 此布尔属性仅对电子邮件或文件输入类型有效。
在 <select> 标签中使用 multiple 属性
1234567
<label for="language">Select l...
Layui + TP 实现点击添加input表格,添加与赋值
index视图
{extend name="layout/common" /}
{block name="title"}人员管理{/block}
<!--<link href="https://kodo.79524795.vip/jquery/normalize.css" rel="stylesheet">-->
<!--<link href="https...
react学习---表单数据收集---非受控组件(输入框中的数据不受state管理)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>1_非受控组件</title>
</head>
<body>
<!-- 准备好一个“容器” -->
<div ...
forms组件钩子函数、字段参数、字段类型、cookie与session简介
ajax结合sweetalert使用删除功能
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<meta name="viewport" content="width=de...
文章链接:https://www.dianjilingqu.com/50813.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。