一:使用Vite创建React项目

二:React中组件使用

  1. import React, { Component, useState } from "react";
  2.  
  3. //使用class定义组件
  4.  
  5. export default class Modet extends Component<any,any> {
  6. // class组件中可以使用构造器
  7. constructor(props: any) {
  8. super(props);
  9. //定义状态
  10. this.state = { list: { id: 1, name: "小屋" }, list2: [] }
  11. }
  12. //(生命周期)创建时的函数,一般用于初始化数据
  13. componentDidMount(): void {
  14.  
  15. }
  16. //(生命周期)数据修改时的函数,用于监听数据变化
  17. componentDidUpdate(): void {
  18.  
  19. }
  20. //(生命周期)组件卸载时的函数,用于清除数据,如定时器之类的
  21. componentWillUnmount(): void {
  22.  
  23. }
  24. render() {
  25. return (
  26. // 幽灵标签
  27. <>
  28. {/* bind传参 */}
  29. {/* <div onClick={this.方法名称.bind(this, 当前对象)}></div> */}
  30.  
  31. {/* map使用 */}
  32. {
  33. this.state.list2.map((list:any,i:any)=>{
  34. <div key={i}>{list}</div>
  35. })
  36. }
  37.  
  38. {/* React中for循环读取图片的方式 */}
  39. {
  40. /* {this.state.list2.forum_img=>图片集合逗号分隔后在循环 ,Vue中好像不可以这样写*/
  41. this.state.list2.forum_img.split(',').map((imageName: any, index: any) => (
  42. <img src={"./src/assets/img/" + imageName} alt="imageName" key={index} />
  43. ))
  44. }
  45.  
  46. </>
  47. )
  48. }
  49. }
  50.  
  51. //使用函数定义组件
  52. export function Modet2() {
  53. // 函数组件中定义有状态数据
  54. let [user_pwd, setUserPwd] = useState();
  55. //修改数据方法
  56. function LoginSet(e: any) {
  57. // e是当前传过来的数据可以输出看看
  58. setUserPwd(e.target.value);
  59. }
  60. return(
  61. <>
  62. <div onClick={LoginSet}></div>
  63. </>
  64. )
  65. }

三:在App.tsx中声明

  1. import { Routes, BrowserRouter as Router, Route } from 'react-router-dom'
  2. import Index from './component'
  3. import { Login } from './component/login'
  4. function App() {
  5. return (
  6. <Router>
  7. <Routes>
  8. <Route path='/' element={<Login />}></Route>
  9. <Route path='/home' element={<Index />}></Route>
  10. </Routes>
  11. </Router>
  12. )
  13. }
  14.  
  15. export default App

四:最后在main.ts中引用并且挂载App.tsx

  1. import React from 'react'
  2. import ReactDOM from 'react-dom/client'
  3. import App from './App'
  4. //import App from '../src/component/text'
  5. import './index.css'
  6.  
  7. ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
  8. <React.StrictMode>
  9. <App />
  10. </React.StrictMode>,
  11. )

五:路由使用

1、安装路由

  1. npm i react-router-dom

2、引入路由

  1. import {
  2. BrowserRouter as Router,--也可以直接使用BrowserRouter
  3. NavLink,--可以进行选中判断
  4. Route, Routes
  5. } from 'react-router-dom'

代码:

App.tsx

  1. import './App.css'
  2. import {
  3. BrowserRouter as Router,
  4. NavLink,
  5. Route, Routes
  6. } from 'react-router-dom'
  7.  
  8. import February from './component/february'
  9. import March from './component/march'
  10. import Times from './component/february/index2'
  11. import Btn from './component/february/index'
  12. import Input from './component/february/index3'
  13. import Paging from './component/february/index4'
  14. import Model from './component/march/march1'
  15. import Change from './component/march/march2'
  16. import { Sloting } from './component/march/march3'
  17. import { Stateful } from './component/march/march4'
  18. import { StatefulWork } from './component/march/march5'
  19. import WordSix from './component/march/march6'
  20. import Product from './component/march/march7'
  21. import Button from './component/march/march8'
  22. import Effect from './component/march/march9'
  23. import Hooks from './component/march/march10'
  24. import Context from './component/march/march11'
  25. import VModel from './component/february/index5'
  26. import { Reducer } from './component/march/march12'
  27. import { Want } from './component/february/index6'
  28.  
  29. function App() {
  30. return (
  31. <Router>
  32. <NavLink className={({ isActive }) => isActive ? 'active' : ''} to="/february">2023-02-28</NavLink>
  33. <NavLink className={({ isActive }) => isActive ? 'active' : ''} to="/march">2023-03-01</NavLink>
  34. <Routes>
  35. <Route path='/' element=''></Route>
  36. <Route path='february' element={<February />}>
  37. {/* index 默认显示 */}
  38. {/* <Route index element={<Times />} /> */}
  39. <Route path='times' element={<Times />} />
  40. <Route path='btn' element={<Btn />} />
  41. <Route path='input' element={<Input />} />
  42. <Route path='paging' element={<Paging />} />
  43. <Route path='vmodel' element={<VModel />} />
  44. <Route path='text' element={<Want />} />
  45. </Route>
  46. <Route path='march' element={<March />}>
  47. <Route path='model' element={<Model />}></Route>
  48. <Route path='change' element={<Change />}></Route>
  49. <Route path='slot' element={<Sloting />}></Route>
  50. <Route path='stateful' element={<Stateful />}></Route>
  51. <Route path='statefulWork' element={<StatefulWork />}></Route>
  52. <Route path='work' element={<WordSix />}></Route>
  53. <Route path='product' element={<Product />}></Route>
  54. <Route path='btn' element={<Button />}></Route>
  55. <Route path='effect' element={<Effect />}></Route>
  56. <Route path='hooks' element={<Hooks />}></Route>
  57. <Route path='context' element={<Context />}></Route>
  58. <Route path='reducer' element={<Reducer />}></Route>
  59. </Route>
  60. {/* Navigate重定向 */}
  61. {/* to相当于push,有历史记录,可以后退 */}
  62. {/* replace没有历史记录 */}
  63. {/* <Route path='/march' element={<Navigate to='/home' />}></Route> */}
  64. </Routes>
  65. </Router>
  66. )
  67. }
  68.  
  69. export default App

子路由,March

  1. import React from "react";
  2. import { NavLink, Outlet } from "react-router-dom";
  3. import '../css/index.css'
  4. export default function March() {
  5. return (
  6. <>
  7. <h3>三月份作业</h3>
  8. <div className="div_title">
  9. <NavLink className={({isActive})=> isActive?'title_active':''} to={"model"}>模态框</NavLink>
  10. <NavLink className={({isActive})=> isActive?'title_active':''} to={"change"}>点击切换</NavLink>
  11. <NavLink className={({isActive})=> isActive?'title_active':''} to={"slot"}>插槽</NavLink>
  12. <NavLink className={({isActive})=> isActive?'title_active':''} to={"stateful"}>状态组件</NavLink>
  13. <NavLink className={({isActive})=> isActive?'title_active':''} to={"statefulWork"}>状态组件作业</NavLink>
  14. <NavLink className={({isActive})=> isActive?'title_active':''} to={"work"}>作业</NavLink>
  15. <NavLink className={({isActive})=> isActive?'title_active':''} to={"product"}>父传子案例</NavLink>
  16. <NavLink className={({isActive})=> isActive?'title_active':''} to={"btn"}>useState案例</NavLink>
  17. <NavLink className={({isActive})=> isActive?'title_active':''} to={"effect"}>useEffect案例</NavLink>
  18. <NavLink className={({isActive})=> isActive?'title_active':''} to={"hooks"}>Hooks案例</NavLink>
  19. <NavLink className={({isActive})=> isActive?'title_active':''} to={"context"}>Context案例</NavLink>
  20. <NavLink className={({isActive})=> isActive?'title_active':''} to={"reducer"}>Reducer案例</NavLink>
  21. </div>
  22. <div>
  23. <Outlet />
  24. </div>
  25. </>
  26. )
  27. }

子路由,February

  1. import React from "react";
  2. import { NavLink, Outlet } from "react-router-dom";
  3. import '../css/index.css'
  4. export default function February() {
  5. return (
  6. <>
  7. <h3>二月份作业</h3>
  8. <div className="div_title">
  9. <NavLink className={({isActive})=> isActive?'title_active':''} to={'times'}>动态显示当前时间</NavLink>
  10. <NavLink className={({isActive})=> isActive?'title_active':''} to={'btn'}>单击显示隐藏</NavLink>
  11. <NavLink className={({isActive})=> isActive?'title_active':''} to={'input'}>数据双向绑定</NavLink>
  12. <NavLink className={({isActive})=> isActive?'title_active':''} to={'paging'}>分页插件</NavLink>
  13. <NavLink className={({isActive})=> isActive?'title_active':''} to={'vmodel'}> v-model原生</NavLink>
  14. <NavLink className={({isActive})=> isActive?'title_active':''} to={'text'}> 深拷贝浅拷贝</NavLink>
  15. </div>
  16. <div>
  17. {/* 占位符,让当前组件显示在占位符的位置 */}
  18. <Outlet />
  19. </div>
  20. </>
  21. )
  22. }

React框架使用的更多相关文章

  1. 当react框架遇上百度地图

      百度地图官方文档的使用指导是这样说的:在页面中引入<script type="text/javascript" src="http://api.map.baid ...

  2. 谈谈出入React框架踩过的坑

    1 在JSX的元素中写入内联样式,例如<div style={"color:blue"}></div> 报错:warning:Style prop valu ...

  3. 【react】当react框架遇上百度地图

      百度地图官方文档的使用指导是这样说的:在页面中引入<script type="text/javascript" src="http://api.map.baid ...

  4. D3.js(v3)+react框架 基础部分之数据绑定及其工作过程与绑定顺序

    数据绑定: 将数据绑定到Dom上,是D3最大的特色.d3.select和d3.selectAll返回的元素的选择集.选择集上是没有数据的. 数据绑定就是使被选择元素里“含有”数据. 相关函数有两个: ...

  5. 认识React框架

    在大厂面试的时候被问会不会React框架几乎是必须的,可见React框架在现在前端市场的份额.所以说学习React框架的必要性. react框架起源于Facebook的内部项目,因为对市场上的Java ...

  6. 搭建 webpack + react 框架爬坑之路

    由于工程实践需要搭一个 webpack + react 框架,本人刚开始学,就照b站上的react黑马视频做,爬过无数个坑...希望读者能引以为戒.我的是macos系统 https://www.bil ...

  7. 【案例分享】在 React 框架中使用 SpreadJS 纯前端表格控件

    [案例分享]在 React 框架中使用 SpreadJS 纯前端表格控件 本期葡萄城公开课,将由国电联合动力技术有限公司,资深前端开发工程师——李林慧女士,与大家在线分享“在 React 框架中使用 ...

  8. react框架下,在页面内加载显示PDF文件,关于react-pdf-js的使用注意事项

    react框架下,在页面内加载显示PDF文件,关于react-pdf-js的使用注意事项 之前做了一个需求,在注册账号的时候,让用户同意服务条款, 服务条款是一个PDF文件, 这就需要在react内加 ...

  9. React框架随笔

    React框架随笔 现在最热门的前端框架有AngularJS.React.Bootstrap等.自从接触了ReactJS,ReactJs的虚拟DOM(Virtual DOM)和组件化的开发深深的吸引了 ...

  10. React框架概述

    一.React框架概述 官网:https://reactjs.org/       最新版V16.10 中文网:https://zh-hans.reactjs.org/ 中文社区网:https://r ...

随机推荐

  1. sqlite bundle 的含义,和 sqlite.dll, SQLite.Interop.dll, System.Data.SQLite.dll 三者之间的关系

    sqlite bundle 的含义,和 sqlite.dll, SQLite.Interop.dll, System.Data.SQLite.dll 三者之间的关系. bundle 表示不需要配合 S ...

  2. R 曲线拐点

    x = seq(1,15) y = c(4,5,6,5,5,6,7,8,7,7,6,6,7,8,9) plot(x,y,type="l",ylim=c(3,10)) lo < ...

  3. 6Sampling Configuration Space: 6.3 Using Accelerated Molecular Dynamics (aMD) to enhance sampling

    6.3 Using Accelerated Molecular Dynamics (aMD) to enhance sampling 英文官网:http://ambermd.org/tutorials ...

  4. POI设置单元格下拉框

    一.导出 Excel 单元格设置下拉框 日常开发中,导出基础数据为模版,填充信息后导入时,有时候会要求某些导入项应该为下拉框选择,一个是为了规范数据,也可以简化填充. 1.1 单元格下拉框选项总字符较 ...

  5. pandas加速读取数据记录csv大文件处理

    def readf(file): t0 = time.time() data=pd.read_csv(file,low_memory=False,encoding='gbk' #,nrows=100 ...

  6. Conda简单教程 - 搬运

    Conda简单教程 转自:https://www.cnblogs.com/nuccch/p/15046969.html 目录 什么是Conda 安装Conda 虚拟环境管理 模块管理 何时使用Cond ...

  7. STM32 系统初始化

    #include "system.h" void system_init(void){ //系统中断设置,抢占优先级0~15,无子优先级 NVIC_PriorityGroupCon ...

  8. [rk3568][common] 环境搭建

    1. 安装依赖 sudo apt-get install uuid uuid-dev zlib1g-dev liblz-dev liblzo2-2 liblzo2-dev lzop \ git-cor ...

  9. DVWA-File Upload(文件上传)

    文件上传是很危险的漏洞,攻击者上传木马到服务器,可以获取服务器的操作权限 LOW 审计源码 <?php if( isset( $_POST[ 'Upload' ] ) ) { // 定义 文件上 ...

  10. MS-08-067 windows smb服务 远程命令执行漏洞

    漏洞概要 MS-08-067是Windows平台中smb服务445端口的远程代码执行漏洞 利用成功可以远程控制主机 影响范围为:windows2000.xp.server 2003.server 20 ...