分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

react.js 高阶组件----很简单的实例理解高阶组件思想

发布时间:2023-09-06 01:14责任编辑:顾先生关键词:js组件
/** 高阶组件其实是一个函数,传进去的一个组件,返回一个新组件* 实现不同组件中的逻辑复用,* 将一些可以单独抽离的逻辑处理给要返回的新组件里面复用* 然后将单独的组件,传递给新组件* */import React, {Component} from ‘react‘import ReactDOM from ‘react-dom‘//高阶组件定义,里面return 返回新组件function local(Comp,key){ ???class Proxy extends Component{ ???????//constructor构造函数 定义你的状态 ???????constructor(){ ???????????super(); ???????????this.state={data:‘‘} ???????} ???????//钩子函数,组件渲染之前 ???????componentWillMount(){ ???????????let data=localStorage.getItem(key); ???????????this.setState({data}) ???????} ???????handBlur=(event)=>{ ??????????let data=event.target.value; ??????????localStorage.setItem(key,data); ???????} ???????render(){ ???????????//Comp是传入进来的组件 ???????????return( ???????????????<Comp handBlur={this.handBlur} data={this.state.data}/> ???????????) ???????} ???} ???return Proxy}//定义你的单独组件function Input(props) { ???return <input type="text" defaultValue={props.data} onBlur={props.handBlur}/>}function Textareas(props) { ??return <textarea defaultValue={props.data}></textarea>}function Div() { ???return <div>111</div>}//调用高阶函数,返回新的函数let LocalInput=local(Input,‘username‘)let LocalTextareas=local(Textareas,‘content‘)let LocalDiv=local(Div)//要渲染的总组件class From extends Component { ???render() { ???????return ( ???????????<div> ???????????????<form> ??????????????????用户名 <LocalInput/> ???????????????????类容 <LocalTextareas/> ???????????????????<LocalDiv></LocalDiv> ???????????????</form> ???????????</div> ???????) ???}}ReactDOM.render(<From></From>,document.querySelector("#root"))

react.js 高阶组件----很简单的实例理解高阶组件思想

原文地址:http://www.cnblogs.com/null11/p/7597890.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved