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

重温react-06(初识函数组件和快速生成格式的插件使用方式)

开始

函数组件必然成为未来发展的趋势(个人见解),总之努力的去学习,才能赚更多的钱.加油呀!

函数组件的格式

import React from 'react'export default function LearnFunction01() {return (<div>LearnFunction01</div>)
}

以上是函数式组件的组基本的方式

快捷生成以上语句的插件

在vscode插件市场搜索该插件,通过rcc,或者rfc等指令,可以快速的生成一段代码,加快在工作中的效率 Reactjs code snippets (复制搜索即可).

useState

和vue3是非常相似的,这个可以设置一个变量的初始值,并且会给你一个一个set函数设置它的值.

import React, { useState } from 'react'
// 函数组件 useState的用法
export default function LearnFunction01() {// 定义一个变量 , 定义一个初始化的设置值的方式 , 传入初始值const [number, setNumber] = useState(0)// 这个是引用数据类型需要前后的值进行比较才能改变视图const [arr, setArr] = useState([1, 2, 3, 4])return (<div><div>{number}</div><button onClick={() => {setNumber(number + 1)}}>+</button><hr /><button onClick={() => {setArr([...arr, arr.length + 1])}}>点击增加arr的长度</button><div>{arr.map((item, index) => {return <div key={index}>{item}</div>})}</div></div>)
}

useEffect

import React, { useState,useEffect } from 'react'
// 函数组件 useEffect的用法
export default function LearnFunction01() {// 定义一个变量 , 定义一个初始化的设置值的方式 , 传入初始值const [number, setNumber] = useState(0)// 这个是引用数据类型需要前后的值进行比较才能改变视图const [arr, setArr] = useState([1, 2, 3, 4])useEffect(() => {console.log('视图更新了')console.log(document.getElementById('div'));})return (<div><div id="div">{number}</div><button onClick={() => {setNumber(number + 1)}}>+</button><hr /><button onClick={() => {setArr([...arr, arr.length + 1])}}>点击增加arr的长度</button><div>{arr.map((item, index) => {return <div key={index}>{item}</div>})}</div></div>)
}

注意

所有写的函数名字要以组件的形式,在出口展示,前面的react01 02 03 ......都是的

我这个就是直接在app.js展示的没有设置路由很不规范,但是为了学习而已 , 不需要如此的规范,后续会出一个nodejs+react+websocket的开源项目>>>>点个关注吧.

相关文章:

  • AcWing 1256:扩展二叉树
  • C++ ariac2 Windows库编译
  • 【Node-RED 4.0.2】4.0版本新增特性(官方版)
  • 智能洗车管理系统设计
  • 安装llama_factory
  • HttpUtils工具类
  • base64字符串空格问题
  • 【智能算法】目标检测算法
  • doris集群物理部署保姆级教程
  • 深入理解 RabbitMQ、RocketMQ等常⽤的消息中间件进⾏消息的异步数据处理
  • 使用 PHP 和 Selenium WebDriver 实现爬虫
  • 数据质量管理-可访问性管理
  • 从零搭建Prometheus到Grafana告警推送
  • Ansible自动化部署
  • pdf拆分,pdf拆分在线使用,pdf拆分多个pdf
  • canvas 高仿 Apple Watch 表盘
  • leetcode98. Validate Binary Search Tree
  • MQ框架的比较
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • vue-loader 源码解析系列之 selector
  • win10下安装mysql5.7
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 解析带emoji和链接的聊天系统消息
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 前嗅ForeSpider中数据浏览界面介绍
  • 深入 Nginx 之配置篇
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • #传输# #传输数据判断#
  • $.ajax()参数及用法
  • (2024,Flag-DiT,文本引导的多模态生成,SR,统一的标记化,RoPE、RMSNorm 和流匹配)Lumina-T2X
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (四)模仿学习-完成后台管理页面查询
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (一)基于IDEA的JAVA基础10
  • (一一四)第九章编程练习
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)EOS中账户、钱包和密钥的关系
  • (转)http协议
  • (转)setTimeout 和 setInterval 的区别
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .cn根服务器被攻击之后
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .net反编译工具
  • .NET面试题(二)
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • @AliasFor 使用
  • @ComponentScan比较
  • @Responsebody与@RequestBody