当前位置: 首页 > news >正文

江宁城乡建设局网站西安app定制开发公司

江宁城乡建设局网站,西安app定制开发公司,中国建设监理协会网站查询成绩,网站全站模板组件 组件是用来实现局部功能的代码和资源的集合#xff08;html/css/js#xff09;#xff0c;用来复用代码。 react中分为函数式组件和类式组件。函数式组件就是一个函数#xff0c;函数的返回值就是组件的视图内容。类式组件就是通过class关键字创建的类#xff0c;类…组件 组件是用来实现局部功能的代码和资源的集合html/css/js用来复用代码。 react中分为函数式组件和类式组件。函数式组件就是一个函数函数的返回值就是组件的视图内容。类式组件就是通过class关键字创建的类类式组件通过render函数返回视图内容。 函数式组件 function Good(){return divh1news/h1/div }类式组件 类式组件必须继承React.Component class Good extends React.Component{}React解析组件标签找到Good组件发现组件是使用类定义的随后new出来该类的实例并通过该类实例调用到原型上的render()将render返回的虚拟DOM转为真实DOM随后呈现在页面中 简单组件和复杂组件 如果一个组件有状态就是复杂组件如果一个组件没有状态就是简单组件。 组件实例的属性 组件实例属性包含state、props、refs这三个常用的属性。其中refs只能在类组件中使用如果在函数式组件中想要使用refs需要使用其他的api获取元素引用。 state state是组件对象最重要的属性值是对象。组件被称为状态机通过更新组件的state来更新对应的页面显示。 状态必须通过setState修改setState()接收一个对象对象中设置需要更改的key和value。 class Demo extends React.Component{state {description:hello}handleClick(){this.setState({descriptin:hello}); }render(){return divspan{this.state.description}/spanbutton onClick{this.handleClick}change/button/div} }props 组件实例属性props指的是从外部传递给组件的值props在组件内部是只读的不能通过this.props.xxx修改。 class Person extends React.Component{render(){const {name,age,sex} this.props;return ulli{name}/lili{age}/lili{sex}/li/ul/} }我们可以通过propsTypes限制props的类型通过defaultProps设置props的默认值。propsTypes和defaultProps都是类的静态成员除了直接使用Person设置之外还可以通过类的语句块中通过static关键字设置。 // 限制props的类型 Person.propTypes {name:PropTypes.string,age:PropTypes.number,sex:PropTypes.string } // 设置props的默认值 Person.defaultProps {name:hello } // 向组件传递props React.render(Person nameTom age{18} sexMan /,document.getElementById(app)); let p {name:Tom, age:18, sex:Man } React.render(Person {...p}/,document.getElementById(test));static关键字设置propsTypes class Person extends React.Component{static propsTypes {name:PropTypes.string,age:PropTypes.number,sex:PropTypes.string}static defaultProps {name:hello}render(){return div// .../div} }refs 组件实例属性refsrefs指的是获取元素的引用。通过给元素设置ref属性得到其引用。refs从使用方式上分为字符串类型、函数类型。字符串类型的如下所示 class Person extends React.Component{render(){return input refinput_left typetext placeholder点击按钮提示数据 /button onClick{this.tooltip}点击提示数据/buttoninput refinput_right typetext placeholder失焦提示数据 //} }回调函数形式的refs 回调形式的ref在更新时会执行两次第一次会传递一个null第二次才会传递元素。这是因为在更新时会实例化一个新的对象并重新渲染。 回调函数分为内联的回调函数和类绑定的回调函数 class Person extends React.Component {state {}static propTypes {name: PropTypes.string,age: PropTypes.number,gender: PropTypes.string}static defaultProps {name: hello}constructor(props) {super(props);}tooltip (e){alert(this.input_left.value)}toolTipRight () {alert(this.input_right.value)}render() {return divinput ref{(el) {this.input_left el;}} typetext placeholder点击按钮提示数据 /button onClick{this.tooltip}点击提示数据/buttoninput ref{(el) {this.input_right el;}} onBlur {this.toolTipRight} typetext placeholder失焦提示数据 //div}}createRef的refs 除了上面的方式之外还可以通过createRef创建容器然后获取元素的引用。 class Person extends React.Component {myRef React.createRef()myRef2 React.createRef()state {}constructor(props) {super(props);}tooltip (e){console.log(this.myRef)alert(this.myRef.current.value);}toolTipRight () {alert(this.myRef2.current.value);}render() {return divinput ref{this.myRef} typetext placeholder点击按钮提示数据 /button onClick{this.tooltip}点击提示数据/buttoninput ref{this.myRef2} onBlur{this.toolTipRight} typetext placeholder失焦提示数据 //div}}事件处理 通过onXxx属性指定事件处理函数。 React使用的是自定义事件不是原生事件。为了更好的兼容性React中的事件是通过委托方式处理的。为了高效 通过event.target得到发生的事件的DOM元素对象 受控组件 页面中所有输入类的DOM随着输入把数据存入state就是受控组件。 class Login extends React.Component {state {userName:,password:}submit(e){e.preventDefault();const {userName,password} this.state;}saveFormData (key) {return (e) {this.setState({[key]: e.target.value});}}render() {return form action onSubmit{this.submit}用户名input ref{(el) this.userNameInput el} onChange{this.saveFormData(userName)} typetext nameusername /密码input ref{(el) this.passwordInput el} onChange{this.saveFormData(password)} typepassword namepassword / button登录/button/form}}
http://www.dnsts.com.cn/news/142204.html

相关文章:

  • 网站建设内容3000字sem专业培训公司
  • 做网站用商标吗网站建设教程公司湖南岚鸿o k
  • 股票可以做网站推广吗旅游网页素材
  • 宜昌建设网站金华市住房建设局网站
  • wordpress视频教程福田企业网站优化有用吗
  • 订阅号可以做微网站吗陈列设计师培训
  • 做问卷给钱的网站wordpress货币插件
  • 微信网站什么做的商标注册收费标准
  • 沈阳和平三好街做网站建信网个人证书查询
  • 宾馆的网站回款如何做分录设计比较有特色的网站
  • 佛山做网站yunzhanfs金华做网站的公司
  • 台州做网站seowordpress月亮主题
  • 基于cms的企业网站建设vs做网站创建项目时选哪个
  • 网站首页改版费用wordpress 虚拟商城
  • jsp网站开发文献网站推广网站制作网站建设公司
  • 成都网站建设优化公司电话512内存服务器做网站
  • 免费手机网站制作方法wordpress插件证书认证网站
  • 学院网站建设时间控制变更申请表企业网站怎么做产品图片轮播
  • 网站开发包括南通智能模板建站
  • 昆明网站快速优化排名一号网站建设
  • 360建站网站建设 .影响力科技
  • 网站死链怎么办wordpress免费企业网站
  • 网站备案简介怎么写做网站自动赚钱吗
  • 网站asp怎么做二级域名网站
  • 六盘水网站设计wordpress调用地图导航
  • 诸城盟族网站建设2023二级建造师报名官网入口
  • 自己做网站用中文为什么是乱码网络营销模式的优缺点分析
  • 吉林省建设厅监理协会网站网站小图标怎么做的
  • 萝岗企业网站建设wordpress转发301
  • 七七鱼竞价托管湖南专业的关键词优化