React对标签属性进行限制(props)

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>对props进行限制</title>
</head>
<body><!-- 准备好一个“容器” --><div id="test1"></div><div id="test2"></div><div id="test3"></div><!-- 引入react核心库 --><script type="text/javascript" src="../js/react.development.js"></script><!-- 引入react-dom,用于支持react操作DOM --><script type="text/javascript" src="../js/react-dom.development.js"></script><!-- 引入babel,用于将jsx转为js --><script type="text/javascript" src="../js/babel.min.js"></script><!-- 引入prop-types,用于对组件标签属性进行限制 --><script type="text/javascript" src="../js/prop-types.js"></script><script type="text/babel">//创建组件class Person extends React.Component{constructor(props){//构造器是否接收props,是否传递给super,取决于:是否希望在构造器中通过this访问props// console.log(props);super(props)console.log('constructor',this.props);}//对标签属性进行类型、必要性的限制static propTypes = {name:PropTypes.string.isRequired, //限制name必传,且为字符串sex:PropTypes.string,//限制sex为字符串age:PropTypes.number,//限制age为数值}//指定默认标签属性值static defaultProps = {sex:'男',//sex默认值为男age:18 //age默认值为18}render(){// console.log(this);const {name,age,sex} = this.props//props是只读的//this.props.name = 'jack' //此行代码会报错,因为props是只读的return (<ul><li>姓名:{name}</li><li>性别:{sex}</li><li>年龄:{age+1}</li></ul>)}}//渲染组件到页面ReactDOM.render(<Person name="jerry"/>,document.getElementById('test1'))</script>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/325865.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务的协作:服务间的消息传递——《微服务设计》读书笔记

在微服务集成——《微服务设计》读书笔记文章中&#xff0c;我们说过服务间的消息传递有几种方式&#xff0c;一种是请求/响应技术&#xff0c;另一种是基于事件的机制。 RPC&#xff08;远程过程调用&#xff09; RPC是Remote Procedure Call的简称。 这是请求/响应技术的一种…

jdbc事务和事务的隔离级别

转载自 jdbc事务和事务的隔离级别 在jdbc的使用中以最简单的jdbc的使用为例&#xff0c;说明了jdbc的具体用法。然而在通常项目中&#xff0c;需要考虑更多内容&#xff0c;例如事务。 事务&#xff0c;在单个数据处理单元中&#xff0c;存在若干个数据处理&#xff0c;要么整…

Android自定义View画钟表

第一种使用背景表盘 主要代码&#xff1a; package com.zjs.zidingyiview; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.os.Handler; import android.os.Message; impo…

理解C# 4 dynamic(3) – DynamicObject的使用

上篇文章"理解C# 4 dynamic(2) – ExpandoObject的使用" 了解了xpandoObject的基本使用。但ExpandoObject的问题就是它是一个万金油&#xff0c;什么都可以做&#xff0c;但是又都不专注。使用DynamicObject正好可以解决这个问题。这篇文章介绍DynamicJson是如何继承…

jsx中的注释的写法

{}表示里面要写js语句 js语句里面的注释为/**/

微软正在用实际行动告诉你: 拥抱开源,微软是认真的

2017年4月19日至20日&#xff0c;由工业和信息化部指导、中国信息通信研究院主办、云计算开源产业联盟承办的"全球云计算开源峰会"在国家会议中心举行。微软.NET CORE开发平台荣获由峰会云计算开源产业联盟(OSCAR) 评选出的“尖峰开源技术”奖&#xff0c;标志着国内…

React不提交表单并且获取表单中的数据

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>1_非受控组件</title> </head> <body><!-- 准备好一个“容器” --><div id"test"></div><!-- 引入…

分布式系统Paxos算法

转载自 分布式系统Paxos算法 这是一个有关Paxos算法非常形象的讲解与示范。Paxos是能够基于一大堆完全不可靠的网络条件下却能可靠确定地实现共识一致性的算法。也就是说&#xff1a;它允许一组不一定可靠的处理器&#xff08;服务器&#xff09;在某些条件得到满足情况下就能…

winform实现简单的计算器V1版本

最近在整winform程序&#xff0c;就做了些简单的案例出来&#xff0c;比如说下面的这个计算器&#xff1a; 这个的实现方式还是比较简单的。 首先按照图中的界面从工具箱中拉出来一个窗体&#xff0c;其中的显示结果“86”“1849”也是lable控件&#xff0c;最后放一个计算的…

用.netcore写一个简单redis驱动,调试windows版本的redis

1. 下载windows版本的redis 2.开发环境vs2017 新建一个 .net core控制台。 private static Socket socket new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); private static BufferedStream buffer null; socket.NoDelay true; s…

分布式系统的Raft算法

转载自 分布式系统的Raft算法 过去, Paxos一直是分布式协议的标准&#xff0c;但是Paxos难于理解&#xff0c;更难以实现&#xff0c;Google的分布式锁系统Chubby作为Paxos实现曾经遭遇到很多坑。 来自Stanford的新的分布式协议研究称为Raft&#xff0c;它是一个为真实世界应…

拆分:分解单块系统——《微服务设计》读书笔记

通常&#xff0c;我们可能已有有一个巨大的单块系统&#xff0c;如何实现微服务&#xff0c;我们需要把它分解。 从哪里开始拆分&#xff1a;接缝 接缝&#xff1a;从接缝处可以抽取相对独立的一部分代码&#xff0c;对这部分代码的修改不会影响系统的其他部分。这些接缝就可以…

winfrom实现简单计算器V2版本

前面&#xff0c;使用winform实现了个简单的计算器&#xff0c;今天&#xff0c;再来给大家看一个稍微复杂点的计算器&#xff0c;效果图如下&#xff1a; 包括归零&#xff0c;退格&#xff0c;加减乘除都已经实现&#xff0c;如果想要继续扩展的可以在稍微改改即可。 现在看…

ACID中C与CAP定理中C的区别

转载自 ACID中C与CAP定理中C的区别 ACID和CAP定理中都有C&#xff0c;代表Consistent一致性&#xff0c;很多人容易将这两个C混为一谈&#xff0c;其实这两个一致性是有区别的。 事务的定义是一系列操作要么全部成功&#xff0c;要么全部不成功&#xff0c;数据库的事务机制是…

winform通过ListView绑定数据库数据源

来&#xff0c;我们开始拉窗体&#xff0c;和我一样的这个就可以&#xff1a; 很简单&#xff0c;在窗体里面只放一个ListView控件即可&#xff0c;然后点击ListView的属性Columns 分别在Text里面写用户名和密码&#xff0c;点击确定。 然后设置显示视图View为Details&…

理解C# 4 dynamic(4) – 让人惊艳的Clay

一&#xff0c;多种方式初始化对象 1, 最简单的对象构建和初始化 dynamic New new ClayFactory();var person New.Person(); person.FirstName "Louis"; person.LastName "Dejardin"; 注意这里的Person并不是一个具体的&#xff0c;实际存在的类或者…

配置struts.xml时extends=struts-default会报错,原因和解决

提示&#xff1a;此种解决方法只适用于Intellij IDEA&#xff0c;MyEclipse或者Eclipse还得另寻它法&#xff0c;但估计原因应该是类似的。 在Intellij IDEA 2017使用Struts2框架时&#xff0c;若新建项目时并未导入Struts2框架而是在后期手动新建lib目录导入Struts2框架后&…

React生命周期(新)

三个标红的需要前面加上UNSAFE_ 三个常用的组件

发力企业级市场,微软Hololens开辟了一条VR新道路

近日微软Hololens可谓是动作频频&#xff0c;2月份Hololens与BGC Engineering合作&#xff0c;从矿山规划到泥石流建模&#xff0c;该应用程序可帮助BGC Engineering及其客户可视化一个场景并解决工程问题。 3月份HoloLens与Cigna展开医疗合作&#xff0c;将Hololens用于健康检…