首页 > 其他分享 >好客租房66-render-props模式-2使用模式

好客租房66-render-props模式-2使用模式

时间:2023-03-10 11:34:27浏览次数:34  
标签:React render 模式 react state 66 props 组件


使用步骤

创建Mouse组件,在组件中提供复用状态逻辑代码(1:状态 2操作状态的方法)

2将要复用的状态作为props.render(state)方法的参数 暴露到组件外部

//导入react
import React from 'react'
import ReactDOM from 'react-dom'
import PropTypes from 'prop-types'
//导入组件
// 约定1:类组件必须以大写字母开头
// 约定2:类组件应该继承react.component父类 从中可以使用父类的方法和属性
// 约定3:组件必须提供render方法
// 约定4:render方法必须有返回值

class App extends React.Component {
constructor(props) {
super(props)
console.log('生命周期钩子函数:construtor')
}
//初始化state
//1进行dom操作
//2发送网络请求
render() {
console.log('生命周期钩子函数:render')
return (
<div id="title">
<h1>render props模式</h1>
<Mouse render={(mouse)=>{
return <p>
鼠标位置:{mouse.x}-{mouse.y}
</p>
}}/>
</div>
)
}
}

class Mouse extends React.Component {
state = {
x:0,
y:0
}
componentDidMount=()=>{
window.addEventListener('mousemove',this.handeleMove)
}
handeleMove=e=>{
this.setState({
x:e.clientX,
y:e.clientY
})
}
//监听鼠标移动事件
render(){
return this.props.render(this.state)
}
}

ReactDOM.render(<App></App>, document.getElementById('root'))

运行结果

好客租房66-render-props模式-2使用模式_javascript

标签:React,render,模式,react,state,66,props,组件
From: https://blog.51cto.com/u_15460007/6112860

相关文章

  • 基于敏捷模式下的测试改进分析
    一、首先是要改进新功能测试的策略一般来说,每次短期的迭代都有新的功能加入产品中,因此,针对新功能的测试方法,在短期迭代周期中需要改进。不需要编写测试用例,直接基......
  • calico的两种网络模式BGP和IP-IP性能分析 iperf3
    转载自:https://www.cnblogs.com/dgp-zjz/p/13212416.html======== 原文链接:https://mp.weixin.qq.com/s/688PEOWBhXxDz0eQpd1ydw目前使用较多的网络插件有flannel,cali......
  • js的一些设计模式概念记录
    工厂模式functioncreatePerson(name,age,job){leto=newObject();o.name=name;o.age=age;o.job=job;o.sayName=function(){console.lo......
  • IdentityServer4:授权码模式
    目录IdentityServer4:授权码模式Api资源项目创建项目依赖包添加认证方案添加Api认证服务器创建项目依赖包配置IdentityServer4集成IdentityServer4添加IdentityServer4......
  • iOS16之后的媒体全屏播放似乎需要App支持横屏模式才行
    解决plus.screen.lockOrientation('portrait-primary');//强制App竖屏,不可旋转横屏"screenOrientation":[//应用支持的横竖屏 "portrait-primary",//支持竖......
  • [设计模式]设计模式之装饰器模式/包装模式【8】【待完善】
    1概述当你在编写代码时,需要扩展一个类的功能,或者是当前类的接口不能满足需求时,你会选择怎么做?重新编写子类,通过继承加入功能?修改原有类的接口使其符合现有环境?但你......
  • IdentityServer4:简化(隐藏)模式
    IdentityServer4:简化(隐藏)模式这种模式使用于纯前端项目、微信开发等,比如前后端分离的项目得到纯前端。Api资源项目创建项目打开VS,创建一个“AspNetCoreWebApi”......
  • docker搭建Redis服务、主从复制、哨兵模式、Cluster模式
    本篇介绍使用docker搭建简单的Redis服务以及搭建Redis服务的三种模式主从复制、哨兵模式、Cluster模式1.搭建简单的Redis服务port7006#端口号cluster-enabledyes......
  • IdentityServer4:客户端模式
    IdentityServer4:客户端模式Api资源项目创建项目打开VS,创建一个“AspNetCoreWebApi”项目,名为:Dotnet.WebApi.Ids4.CustomerApi依赖包添加依赖包<PackageRe......
  • 创建型-原型模式
    定义 使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式是一种对象创建型模式---百科。 通俗的说就是原型模式是一种创建型设计模式,指定某......