react 创建界面的2种常见方式以及react hooks

Chrome的React插件 立即下载

1、无状态state,function组件

import React, { Component } from 'react'
import ChildTest from './test'

function Test(props) {
  return (
    <div className="safe-wrap">
      <ChildTest camera="测试"></ChildTest>
    </div>
  )
}

export default Test

2、es6 Class

import React, { Component } from 'react'

class Test extends Component {
  constructor(props) {
    super(props)
    this.state = {
      camera: '相机'
    }
  }
  componentWillMount()
  componentDidMount() { }
  componentWillUnmount()
  
  shouldComponentUpdate()
  

  render() {
    const { camera } = this.state
    return (
      <div className="safe-wrap">
        {camera}
      </div>
    )
  }
}

3、react Hooks

1).useState 、userEffect. 

const [state, setState] = useState(initialState);

参数: initialState 可以直接是当前state的初始值,也可以是一个函数,函数的返回值将作为state的值,参数只会在组件的初始渲染中起作用

返回值:返回的是一个数组,一个是当前state的值,另一个是更新state的方法,这里面setState方法与class中的setState不同在于,此setState 不会合并state 中的值

如果需要定义多个state 只需要多次调用useState 方法就行。

 

useEffect方法是在每次渲染之后执行,可以理解为class写法中的 componentDidMount / componentDidUpdate(为了方便理解可以这么理解,但不完全一样)

useEffect(didUpdate);

参数:function,在每次渲染之后执行,在函数里可以编写更新dom ,添加订阅 等。

参数返回值: function(可以不返回) 如果 didUpdate函数中返回了一个函数,这个函数会在组件卸载前执行(每次渲染都会执行)需要清除上次订阅的内容可以再这里面写。

执行条件: useEffect 的第二个参数是一个数组,只有当数组中的的值发生改变的时候才会调用effect,如果执行在第一次挂载和卸载的时候调用,只需要传一个[]空数组

 

mport React, { useState, useEffect } from 'react'

function Test() {
  const [count, setCount] = useState(0)
  const [name, setName] = useState('小红')

  useEffect(function () {
    console.log('社会我东哥')
  }, [name, count])

  return <div className="safe-wrap">
    <button onClick={() => {
      setCount(count + 1)
    }}>+</button>
    {count}
    <button onClick={() => {
      setCount(count - 1)
    }}>-</button>


    <button onClick={() => {
      setName('小明')
    }}>+</button>
    {name}
    <button onClick={() => {
      setName('小刚')
    }}>-</button>
  </div>
}

context.js

import react, { createContext } from 'react';
export default react.createContext(null);
import PersonalContext from './context';

父组件
import React, { Component, useState, useEffect, useContext } from 'react'
import './index.scss'
import PersonalContext from './context';
import Parent from './parent'
function Test(props) {
  return (
    <PersonalContext.Provider value={{ age: 1 }}>
      <Parent />
    </PersonalContext.Provider>
  )
}

export default Test

子组件
import PersonalContext from './context';
var context = useContext(PersonalContext)
 return (
    <div className="parent">{context.age}</div>
  )


 

 

R语言分段回归 1.利用虚拟变量进行线性回归 (MEdata.csv的数据来源:https://github.com/ChenQihome9/优快云-Data-Library/blob/master/MEdata.csv) 问题13:针对TAX~GDP,使用分段回归方法,找到其回归方程。编程,并根据程序结果叙述如下几方面问题:(1)分几段最佳?(不超过5段内)(2)分段位置定在哪儿最佳?(3)写出最佳方... 阅读详情

相关推荐

北京途游游戏后端开发面经

北京途游游戏后端开发面经 我面试岗位是基于Python的后端开发工程师,主要是搞游戏的服务器开发。面试一共分了两轮,之后说是看看其他的候选人再定,感觉凉凉~~ 由于受到此次新型冠状病毒疫情的影响,本次面试采用视频面试的方式,下面是面试的时候面试官提的问题,python的基础知识还是问的比较多的。  一面:(32分钟微信视频)  简单做下自我介绍,   1.说一下你开发过的项目,挑一个说下你都做了...

weixin_45603043的博客 2124

react项目新增页面方法(Ant Design Pro)

最近本人在看react,目标是快速上手可以开发前端页面。好不容易搞清楚了react项目启动流程、路由规则;)下一步就总结下如何写新页面。

BHSZZY的博客 2679

国宇测试盒GH7009 SPI读操作全解析:从接线到代码实现的避坑指南

本文详细解析了国宇GH7009测试盒进行SPI读操作的完整流程与避坑要点。重点阐述了硬件连接中IO2时序控制引脚的关键作用,提供了从接线方案、电源处理到上位机代码实现的实战指南,并针对常见的数据不稳定、特定寄存器读取失败等问题给出了具体解决方案。

dapp9builder的博客 223

Hello React (创建自己的第一个React 页面)

Rract是啥? React 是用于构建用户界面的 JavaScript 库 构建用户界面. User Interface,对咱们前端来说,简单理解为:HTML 页面 javscrtipt库。不是框架,是库, react 全家桶才是框架 react 全家桶: react: 核心库 react-dom: dom操作 react-router:路由, redux:集中状态管理 背景 Rract最牛逼!全球使用最多 特点 声明式 用类似于html的语法来定义页面。react中通过数据驱动视图的变

cvvvvvvvvvv的博客 2685

Ubuntu 24.04 LTS安装WPS Office 2025冬季版全攻略(附字体缺失解决方案)

本文提供了在Ubuntu 24.04 LTS系统上安装WPS Office 2025冬季版的完整指南,详细对比了dpkg、Snap和GUI三种安装方式的优劣。针对安装后常见的中文字体缺失、思源黑体粗细异常等核心问题,给出了从原理分析到手动补充字体库、修改字体配置文件的深度解决方案,确保WPS Office在Linux环境下获得最佳使用体验。

weixin_29284201的博客 618

十五、SAP-物料需求计划(MRP)

业务逻辑、功能讲解、图文解析、章节总结

m0_72403327的博客 1089

React框架构建用户界面

本文将介绍如何使用React框架来构建交互式的用户界面,包括项目的搭建、组件设计、状态管理和事件处理等方面的内容。

大张 1728

手把手教你学Simulink——基于重复控制(RC)的并网逆变器场景实例:基于RC的单相并网逆变器仿真

本次教程深入剖析了重复控制(RC)在单相并网逆变器中的应用,解决了周期性谐波抑制这一核心难题。核心收获RC是谐波抑制的“核武器”:它利用内模原理,对所有周期性谐波提供无限大增益,实现理论上无静差的跟踪和抑制。PI+RC是黄金组合:PI提供快速响应,RC提供稳态精度,二者结合,兼顾了动态与稳态性能。结构简单,效果卓越:相比多个PR控制器,RC仅需一个模块,即可抑制所有谐波,设计简洁。电能质量的终极追求,是波形的纯净。重复控制,如同一位不知疲倦的校对员它记住每一次错误(上一周期的误差),

MHD0815的博客 189

建立第一个react页面

【代码】建立第一个react页面。

weixin_48047636的博客 439

人形机器人电源系统硬件开发:从原理图设计到PCB布局的完整流程

人形机器人是“移动的智能终端”,其电源系统如同“心脏+血管”:既要为大脑(主控)、肌肉(电机)、感官(传感器)提供稳定能量,又要在有限体积内应对高动态负载(如跳跃时电机瞬间大电流)。本文聚焦“硬件开发”维度,覆盖从需求分析到PCB制板的完整流程,适合硬件工程师、机器人爱好者快速掌握工程实战方法。

AI天才研究院 2173

MOS管驱动电路设计全攻略

MOS管驱动电路设计全攻略

让你爱上电路设计 3634

React Hooks 实战案例

在 React 之前的版本中,组件要么是函数组件,要么是类组件。函数组件可以使用纯函数的方式编写,但是没有状态(state)和其他 React 特性;类组件则可以拥有状态和其他 React 特性,但是需要使用 class 语法来定义。React Hooks 就是在函数组件中引入了状态和其他 React 特性的工具。useState:在函数组件中添加状态,相当于在类组件中使用 this.state。

程序边界 6815

NSIS教程(2): 传统用户界面(Classic UI)

NSIS教程: 《NSIS用户手册 中文版》 《NSIS图文教程集锦 - 轻狂志》 本文以一个完整的、传统界面的网易云音乐安装包的脚本为示例,来介绍NSIS传统用户界面的开发流程。 NSIS脚本 # 单行注释用井号"#"或分号";",跨行注释用可以用C/C++中注释语法。 # 使用!define定义一些常量(如安装包的版本号等) # 对常量或变量的引用可以使用如${PROD

while(1) { smile(); } 8万+

React Hooks详解

React的函数式组件式本身是没有状态的和其他类似于class组件的功能,所以一开始,函数组件一般只作为容器组件存在,用来展示父级组件传入的值。而16.8之后出现的 hooks(钩子),打开了函数式组件的新大门。 useState 作用:用来记录函数式组件的状态。 使用方式: import React, { useState } from 'react' const [n, setN] = React.useState(0) 例子: import React, {useState} from

duansamve的博客 6331

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

深入浅出 React Hooks

React Hooks 是什么? Hooks 顾名思义,字面意义上来说就是 React 钩子的概念。通过一个 case 我们对 React Hooks 先有一个第一印象。 假设现在要实现一个计数器的组件。如果使用组件化的方式,我们需要做的事情相对更多一些,比如说声明 state,编写计数器的方法等,而且需要理解的概念可能更多一些,比如 Javascript 的类的概念,this 上下文的指向等...

大灰狼的小绵羊哥哥的博客 5231

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

React常见的Hooks

React Hooks 是 React 16.8 引入的特性,允许你在函数组件中使用状态和其他 React 特性。useCallback 会返回一个记忆化(memoized)的回调函数,只有当依赖项发生变化时才会重新创建函数。useMemo 是 React 提供的一个性能优化 Hook,用于缓存计算结果,避免在每次渲染时都进行高开销的计算。效果:当父组件状态更新时,Child 组件不会重新渲染,因为 onClick 的引用保持不变。1、避免子组件不必要的重新渲染。2、避免子组件不必要的渲染。

我是一颗草,哪里荒凉往哪里长 958

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

在 React 中创建组件的多种方式

本文详细介绍了React中创建组件的五种主要方式:函数组件、类组件、高阶组件、自定义Hooks和复合组件模式。函数组件简洁高效,类组件适合复杂状态管理,高阶组件实现逻辑复用,自定义Hooks封装可复用逻辑,复合组件模式则通过组合构建复杂UI。文章强调组件设计的最佳实践,包括单一职责原则、合理使用props/state、TypeScript类型安全以及完善文档。这些方法能帮助开发者构建更可维护、可扩展的React应用,提升开发效率和代码质量。

你若盛开,清风自来 1594

React 之 Hooks

React Hooks 如 useState 和 useEffect 赋予函数组件状态与副作用处理能力,提升逻辑复用性与代码可维护性。理解纯函数、副作用及依赖数组机制,是掌握 Hooks 的关键。

2302_80706750的博客 1241

深入了解 React Hooks API:自定义 Hooks 的魅力

Hooks 是 React 16.8 引入的一组 API,使得函数组件可以使用 state 和其他 React 特性。Hooks 的出现使得我们可以在函数组件中处理副作用、添加 state、处理组件生命周期等。他们不影响组件的结构,但提供了一种更加优雅和可组合的方式来管理组件逻辑。useStateuseEffectuseContext等等自定义 Hooks 是 React Hooks API 的一个强大特性。

有我更精彩的博客 1322

React从Class方式转Hooks

文章目录React Hooks前言Why Hooks ?For ClassFor FunctionClass & Hooks 对比 React Hooks 前言 之前工作三年中一直在用class方式去写前端功能页面这些,其实接触hooks也是有一定时间了。在第一次接触的时候应该是看了一门关于electron+react的项目的课程的时候。当时主要是去看electron,所以对hooks没有特别的关注。也有可能是长期以来对class的熟悉,当时对hooks这种函数式的写法也有一些抵触。但是由于业内对h

沛沛呀、 3028

《React Hooks:让你的组件更灵活》

Hooks 是 React 16.8 新增的功能,它允许你在不编写 class 的情况下使用 state 以及其他 React 特性。Hooks 的出现是为了让函数组件变得更加强大,同时也保持代码的简洁性和可读性。

Envyᥫᩣ的博客 1293

React Hooks 深入浅出

React Hooks 是 React 16.8 版本中引入的特性,它彻底改变了 React 组件的编写方式。在 Hooks 出现之前,我们需要使用类组件来管理状态和生命周期,而函数组件则被视为"无状态组件"。Hooks 的出现使得函数组件也能够拥有状态和生命周期功能,从而简化了组件逻辑,提高了代码的可读性和可维护性。

exlink2012的专栏 943

React开发高级篇 - React Hooks以及自定义Hooks实现思路

初始状态(initialState):这是 state 的初始值。更新函数(setState):这是一个你可以调用以更新 state 的函数。当前状态(current state):这是 state 的当前值。更新函数(setState):用于更新 state 的函数。具体解释:useState 允许你在函数组件内部使用状态。这是通过将状态存储在组件的执行上下文中实现的,而不是像类组件那样存储在实例对象中。

qq_37779333的博客 1984

React React Hooks

React Hooks 是 React 提供的一组特殊的函数,它们在函数组件中实现了一些类组件特有的功能(如状态管理和生命周期方法)。在使用 Hooks 之前,函数组件是无状态的,类组件则具有完整的功能。而 Hooks 的引入打破了这种限制,使得函数组件变得功能强大且更为简洁。自定义 Hooks 是一个普通的 JavaScript 函数,名称以use开头,用于封装组件的状态逻辑。它使逻辑更加可复用和模块化。

Flying_Fish_roe的博客 1429

React Hooks

React Hooks 是 React 16.8 引入的功能,使函数组件能使用状态和生命周期等特性。它简化代码结构,提高复用性,替代类组件的复杂逻辑。核心 Hooks 包括:useState(状态管理)、useEffect(副作用处理)、useContext(跨组件数据传递)、useReducer(复杂状态逻辑)、useCallback/useMemo(性能优化)、useRef(DOM 操作)等。此外,开发者可创建自定义 Hooks 封装复用逻辑。Hooks 仅用于函数组件,使代码更简洁高效,同时保持 Re

likuoelie的博客 991

ReactJS Hooks 总结

ReactJS Hooks 总结 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验; 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的

Mr_Four 556
上一篇: sass知识点总结
下一篇: react Context
小桃酥
博客等级 码龄10年 23粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值