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

ppt超链接至网站怎么做/世界最新新闻

ppt超链接至网站怎么做,世界最新新闻,wordpress创建数据库错误,机械加工类网站怎么做1.React组件状态(state) 组件可以拥有状态(state),它是组件数据的私有部分,可以用来管理动态数据。状态仅适用于类组件,或者使用 React 的 Hook 时可以在函数组件中使用。 注意 组件中render方…

1.React组件状态(state)

        组件可以拥有状态(state),它是组件数据的私有部分,可以用来管理动态数据。状态仅适用于类组件,或者使用 React 的 Hook 时可以在函数组件中使用。

注意

  • 组件中render方法中的this为组件实例对象
  • 组件自定义方法中的this指向为undefined解决方法
  •         强制绑定this,通过函数的bind()
  •         赋值+箭头函数(this指向外找)
  • 状态数据:不能直接修改或更新,使用setState修改状态值

2. 构造器初始化state以及数据读取

利用构造器初始化state,以及state中数据的读取,具体例子如下

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Hello,React</title>
</head><body><!-- 容器 --><div id="test"></div><!-- {/* // 引入 React核心库 */} --><script src="https://unpkg.com/react@16/umd/react.production.min.js"></script><!-- {/* // 引入 react-dom 用于支持 react 操作 DOM */} --><script src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script><!-- {/* // 引入 babel:1. ES6 ==> ES5 2. jsx ==> js */} --><script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script><!-- {/* // 引入 JSX 语法 */} --><script type="text/babel">// 1. 创建一个类式组件 extends React.Component 继承react内置的类class Weather extends React.Component{// 构造器中初始化状态constructor(props) {// 调用父类的构造器super(props);this.state = {temperature: 35,weather: '晴'}}render () {console.log(this);return <h1>今日的天气:{this.state.temperature}°C,{this.state.weather},天气热</h1>}}// 2.渲染组件到页面ReactDOM.render(<Weather />,document.getElementById('test'))</script>
</body></html>

3.state初始化数据 添加点击事件onClick 更新数据

重点

3.1构造器中绑定事件处理函数,bind更改this指向问题
 this.change = this.changeWeather.bind(this)
 3.2render中标签添加点击事件
render () {// 读取状态与添加点击状态 this=>Weather组件实例对象return <h1 onClick={this.change}>今日的天气:{this.state.temperature}°C,{this.state.weather},天气{this.state.isHot?'很热':'很冷'}</h1>}
 3.3setState方法修改state状态中的值
  changeWeather() {// 获取初始的值const dataList = this.state              // 解决方法:1. 手动绑定this 2. 使用箭头函数// this.setState({temperature: 36, weather: '多云', isHot: false})// 或者使用箭头函数this.setState((prevState) => ({temperature: 36,weather: '多云',isHot: !dataList.isHot}))}
3.4整体代码构造函数标准代码模式
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Hello,React</title>
</head><body><!-- 容器 --><div id="test"></div><!-- {/* // 引入 React核心库 */} --><script src="https://unpkg.com/react@16/umd/react.production.min.js"></script><!-- {/* // 引入 react-dom 用于支持 react 操作 DOM */} --><script src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script><!-- {/* // 引入 babel:1. ES6 ==> ES5 2. jsx ==> js */} --><script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script><!-- {/* // 引入 JSX 语法 */} --><script type="text/babel">// 1. 创建一个类式组件 extends React.Component 继承react内置的类class Weather extends React.Component{// 构造器中初始化状态----调用1次 constructor(props) {// 调用父类的构造器super(props);this.state = {temperature: 35,weather: '晴',isHot:true}// 绑定事件处理函数 changeWeather中的this指向问题this.change = this.changeWeather.bind(this)}// 调用---N+1次 N为state更新次数  1为初始化调用1次render () {// 读取状态与添加点击状态 this=>Weather组件实例对象return <h1 onClick={this.change}>今日的天气:{this.state.temperature}°C,{this.state.weather},天气{this.state.isHot?'很热':'很冷'}</h1>}// 事件处理函数---点几次就调用几次changeWeather() {// 点击事件 changeWeather--Weather原型对象上,实例使用// changeWeather作为onClick事件的回调函数,不是通过实例调用而是直接调用// 类中方法默认开启局部严格模式,所以changWeather中的this是undefined // 获取初始的值const dataList = this.state//注意:状态state不可直接修改,需要通过setState方法修改  更新是一种合并操作,而不是直接替换// 解决方法:1. 手动绑定this 2. 使用箭头函数// this.setState({temperature: 36, weather: '多云', isHot: false})// 或者使用箭头函数this.setState((prevState) => ({temperature: 36,weather: '多云',isHot: !dataList.isHot}))}}// 2.渲染组件到页面ReactDOM.render(<Weather />,document.getElementById('test'))</script>
</body></html>
3.5 state常用编码模式非构造函数模式
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Hello,React</title>
</head><body><!-- 容器 --><div id="test"></div><!-- {/* // 引入 React核心库 */} --><script src="https://unpkg.com/react@16/umd/react.production.min.js"></script><!-- {/* // 引入 react-dom 用于支持 react 操作 DOM */} --><script src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script><!-- {/* // 引入 babel:1. ES6 ==> ES5 2. jsx ==> js */} --><script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script><!-- {/* // 引入 JSX 语法 */} --><script type="text/babel">// 1. 创建一个类式组件 extends React.Component 继承react内置的类class Weather extends React.Component{// 初始化状态state= {temperature: 35,weather: '晴',isHot:true}render () {return <h1 onClick={this.changeWeather}>今日的天气:{this.state.temperature}°C,{this.state.weather},天气{this.state.isHot?'很热':'很冷'}</h1>}// 点击事件-赋值语句+箭头函数  箭头函数向外找this指向changeWeather = ()=> {const dataList = this.statethis.setState((prevState) => ({temperature: 36,weather: '多云',isHot: !dataList.isHot}))}}// 组件渲染ReactDOM.render(<Weather />,document.getElementById('test'))</script>
</body></html>

http://www.whsansanxincailiao.cn/news/31972674.html

相关文章:

  • python代码网站/百度自动点击器怎么用
  • 网店网站技术方案/企业推广软件
  • 石家庄网站建设价格低/化妆品推广软文
  • 网站设计师 网站开发工程师/魔贝课凡seo
  • 潍坊网站建设方案托管/nba最新赛程
  • 阿里云虚拟主机与网站吗/百度云盘官网登录入口
  • 制作一个动态企业网站/电脑培训班一般要学多久
  • 网站的倒计时怎么做/想找搜索引擎优化
  • 大学生做推送的网站/seo优化厂商
  • 专业网站建设市场/你就知道
  • 网站改版应该怎么做/苏州seo快速优化
  • 新手建立网站的步骤/网站分析工具
  • 一个基于php网站开发课题设计的业务流程描述/最新新闻事件今天国内大事
  • 做跨境电商一件代发的网站/互联网品牌营销公司
  • 前端做网站都要做哪些/关键词全网搜索指数
  • 做网站优化选阿里巴巴还是百度/百度上怎么打广告宣传
  • 公司做网站买服务器多少钱/今天最新的新闻头条
  • 电脑如何做穿透外网网站/百度竞价托管哪家好
  • 网店要怎么运营/苏州关键词优化排名推广
  • 贵阳微网站建设公司/网络服务电话
  • wordpress页面功能怎么设置/太原seo外包服务
  • wordpress重新生成标签/四川自助seo建站
  • 六安有哪些做网站的公司/怎么制作网页
  • 外贸b2b平台有哪些平台/seo技术有哪些
  • 长春地区网站建设/seo网络推广方法
  • 商丘简淘网络科技有限公司/搜索引擎优化有哪些要点
  • 移动互联网开发安全案例/sem 优化价格
  • 网站建设源码下载/广东企业网站seo报价
  • 自己做网站 最好的软件下载/营销推广渠道
  • 电子商务网站建设与开发/惠州企业网站建设