关于react 的render props 如何使用
最近开始复习react内容,看到这块的时候想起来以前也没用过,就写了一个小例子看看,代码如下
import React from 'react'; class Tip extends React.Component{ render() { const pos = this.props.pos; console.log('ps', pos) return ( <div style={{position: 'fixed', backgroundColor: "#234567",left:pos.left, top: pos.top, visibility: pos.vis}}> <h1>{pos.title}</h1> <p>{pos.content}</p> </div> ) } } class Btn extends React.Component{ constructor(props) { super(props); this.state = { left: '200px', top: '50px', vis: 'hidden', title: '这是title', content: '这是content' } this.clickBtn = this.clickBtn.bind(this) } clickBtn() { let viss = this.state.vis === 'hidden' ? 'visible' : 'hidden'; this.setState({ vis: viss }) } render() { return ( <div style={{width:'80px', height:'32px', backgroundColor: '#892749'}} onClick={this.clickBtn}> 点击按钮 {this.props.render(this.state)} </div> ) } } class TipShow extends React.Component{ render() { return ( <> <Btn render={pos => { console.log(pos) return <Tip pos={pos} ></Tip> }}> </Btn> </> ) } } export default TipShow
分类:
react 学习笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!