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

seo免费网站建设磁力搜索引擎2023

seo免费网站建设,磁力搜索引擎2023,国内免费iphone网站,网站效果图模板❤React-React 组件基础 1、组件化开发介绍 组件化开发思想:分而治之 React的组件按照不同的方式可以分成类组件: 划分方式一(按照组件的定义方式) 函数组件(Functional Component )和类组件(Class Component); …

❤React-React 组件基础

1、组件化开发介绍

组件化开发思想:分而治之

React的组件按照不同的方式可以分成类组件:

划分方式一(按照组件的定义方式)

函数组件(Functional Component )和类组件(Class Component);

划分方式二(按照据组件内部是否有状态需要维护)

无状态组件(Stateless Component )和有状态组件(Stateful Component)

划分方式三(按照据组件的不同职责)

展示型组件(Presentational Component)和容器型组件(Container Component)

函数式组件是官方推荐的,也是接下来我们主要应该学的重点

异步组件-高阶组件

组件包含: React 组件介绍 React 组件的两种创建方式 React 事件处理有状态组件和无状态组件组件中的 state 和 setState()事件绑定 this 指向表单处理

组件特点 可复用、独立、可组合

2、组件化创建的两种方式

(1)函数创建组件---无状态组件 使用JS函数(或者箭头函数)创建的组件 名称以大写字母开头 函数必须有返回值,表示该组件的结构 渲染函数组件:用函数名作为组件标签名 可以是单标签或者双标签

(2)class创建组件---有状态组件

类组件:使用 ES6 的 class 创建的组件
  • 约定1:类名称也必须以大写字母开头
  • 约定2:类组件应该继承 React.Component 父类,从而可以使用父类中提供的方法或属性
  • 约定3:类组件必须提供render0) 方法
  • 约定4:render0)方法必须有返回值,表示该组件的结构

简单编写一个我们的类组件如下

js代码解读
复制代码import React from 'react'class Header extends React.Component {render() {return (<div>header</div>)}
}class Content extends React.Component {render() {return (<div>content</div>)}
}export default class App extends React.Component {render() {// return (//   createElement(//     Fragment,//     null,//     createElement(//       Header//     ),//     createElement(//       Content//     )//   )// )return (<><Header></Header><Content></Content></>)}
}

(3) 抽离为JS文件 将我们之前的部分进行抽离出来

js代码解读
复制代码import React from 'react'
class Header extends React.Component {render() {return (<div>header</div>)}}
export default Header;

导入和渲染使用即可

js代码解读
复制代码import Header from "./header";
<Header></Header>

3、组件事件处理

1 事件绑定

React 事件绑定语法与 DOM 事件语法相似 语法:on+事件名称={事件处理程序},比如:onClick={0)=>{}注意:React 事件采用驼峰命名法,比如:onMouseEnter、onFocus 在函数组件中绑定事件

类组件的方式写法:

函数式组件的方式写法

2事件对象

解释:可以通过事件处理程序的参数获取到事件对象React中的事件对象叫做:合成事件(对象)合成事件:兼容所有浏览器,无需担心跨浏览器兼容性问题

写法如下:

3 有状态组件(类组件)和无状态组件(函数组件)

4 组件的state和setState

5 组件state

6 setState修改状态

7 从JSX之中抽离逻辑代码

事件绑定this指向的转换(三种)

(1) 箭头函数

箭头函数自身不绑定this

(2) Function.prototype.bind()

利用ES中的bind方法,将事件处理程序中的this与组件事例绑定到一起

(3) class的事例方法

8 表单绑定

受控组件

demo (输入框、文本框、富文本框、下拉框)

javascript代码解读
复制代码
import React from 'react';
class Hrllo extends React.Component{state = {count:0,txt:'11',textarea:'富文本框',city:'bg',ischecked:false,}handleTxtx=e=>{console.log('你刚刚点击了'+e.target);this.setState({txt:e.target.value,}) console.log(this.state.txt)}handleTextarea=e=>{console.log('你刚刚点击了'+e.target);this.setState({textarea:e.target.value,}) console.log(this.state.textarea)}handleCity=e=>{console.log('你刚刚点击了'+e.target);this.setState({city:e.target.value,}) console.log(this.state.city)}handleChecked=e=>{console.log('你刚刚点击了'+e.target);this.setState({ischecked:e.target.checked,}) console.log(this.state.ischecked)}render() {return (<div>{/* 输入框 */}<div><input value={this.state.txt} name="txt" onChange={this.handleTxtx}></input></div>{/* 复选框 */}<div><textarea value={this.state.textarea} onChange={this.handleTextarea}></textarea></div>{/* 单选框 */}<select value={this.state.city} onChange={this.handleCity}><option value="sh">上海</option><option value="bj">北京</option><option value="cd">成都</option></select>{/* 复选框 */}<input type="checkbox" checked={this.state.ischecked} onChange={this.handleChecked}></input></div> )}
}
export default Hrllo

受控组件的优化

javascript代码解读
复制代码
import React from 'react';
class Hrllo extends React.Component{state = {count:0,txt:'11',textarea:'富文本框',city:'bg',ischecked:false,}handleChange=e=>{const target=e.target;const value=target.type === 'checkbox'?target.checked:target.value;const name=target.name;console.log('你刚刚点击了'+e.target);this.setState({[name]:value,}) console.log(this.state)}render() {return (<div>{/* 输入框 */}<div><input value={this.state.txt} name="txt" onChange={this.handleChange}></input></div>{/* 复选框 */}<div><textarea value={this.state.textarea} name="textarea" onChange={this.handleChange}></textarea></div>{/* 单选框 */}<select value={this.state.city} onChange={this.handleChange} name="city" ><option value="sh">上海</option><option value="bj">北京</option><option value="cd">成都</option></select>{/* 复选框 */}<input type="checkbox" checked={this.state.ischecked} name="ischecked" onChange={this.handleChange}></input></div> )}
}
export default Hrllo

非受控组件(DOM方式)

javascript代码解读
复制代码
// 非受控组件
import React from 'react';
class Hrllo extends React.Component{constructor(){super()this.txtref=React.createRef(); }getTxt=()=>{console.log('文本框架的值'+this.txtref.current.value);}render() {return (<div>{/* 输入框 */}<input type="text" ref={this.txtref}/><button onClick={this.getTxt}>获取文本框的值</button></div> )}
}
export default Hrllo

9 组件部分小案例:

评论列表:

报错:非大写字母开头

把大些字母改成小写字母就可以正常使用啦!

http://www.yidumall.com/news/26002.html

相关文章:

  • 做网站生意多吗怎么自己找外贸订单
  • 性价比高的广州网站建设十大新媒体平台有哪些
  • html查询网站制作十大中文网站排名
  • 四川建设网中标候选人公示企业网站seo排名
  • 哈尔滨哪里做网站如何创建网页链接
  • 廉价网站建设百度最新秒收录方法2023
  • 网站建设及规划网站怎么优化关键词
  • 乌鲁木齐网络公司深圳seo推广培训
  • 全国电子网站建设怎么创作自己的网站
  • wordpress主题出错优化网站怎么做
  • wordpress分享QQ插件广东短视频seo营销
  • 网站建设套路临沂google推广
  • 一个公司做网站需要注意什么条件西安百度推广联系方式
  • 腾讯文件怎么转换wordpress专业百度seo排名优化
  • 网站建设总体规划包括哪些方面网站如何优化排名
  • 学做网站论坛VIP怎么样seo优化报告
  • 自己可以做网站么站长统计代码
  • 移动门网站建设优化网站推广教程排名
  • 欧美 手机网站模板下载 迅雷下载 迅雷下载地址搜狗收录提交
  • 章丘做网站哪家强seo怎么做新手入门
  • 男女之间做下面哪个网站免费网站收录提交入口
  • 用织梦做的网站怎么管理系统营销培训班
  • 出口网站怎么做现在百度推广有用吗
  • 查询自己网站外链河南seo推广
  • 先做网站还是先备案网站关键词排名优化
  • 江苏公司响应式网站建设报价搜索最多的关键词的排名
  • 网站怎么做全站搜索网络营销推广方案设计
  • 网站建设 三合一长沙网站推广公司排名
  • asp.net构建门户网站百度推广登录后台登录入口
  • 王璞网站开发实战怎么做电商创业