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

绵阳网站建设维护安徽做网站找谁

绵阳网站建设维护,安徽做网站找谁,晋中建设集团网站,农业技术网站建设原则💻 React 基础篇(一)🏠专栏:React 👀个人主页:繁星学编程🍁 🧑个人简介:一个不断提高自我的平凡人🚀 🔊分享方向:目前主攻…

💻 React 基础篇(一)🏠专栏:React
👀个人主页:繁星学编程🍁
🧑个人简介:一个不断提高自我的平凡人🚀
🔊分享方向:目前主攻前端,其他知识也会阶段性分享🍀
👊格言:☀️没有走不通的路,只有不敢走的人!☀️
👉让我们一起进步,一起成为更好的自己!!!🎁

文章目录

  • React 基础知识篇(一)
    • react是什么?
      • (1) 重要版本变更
      • (2) 项目创建
      • (3) 抽离配置文件
    • 组件的写法
      • (1) 函数组件
      • (2) 类组件
      • (3) 组件嵌套
      • (4) 两个组件的区别

React 基础知识篇(一)

react是什么?

官方解释React 是一个声明式,高效且灵活的用于构建用户界面的 JavaScript 库。使用 React 可以将一些简短、独立的代码片段组合成复杂的 UI 界面,这些代码片段被称作“组件”。

vscode中React有助于快捷开发的插件:

ES7+ React/Redux/React-Native snippets
// 代码段快捷键:
React-Native/React/Redux/React-Native...

(1) 重要版本变更

序号版本号发版时间重要更新
1162017 年 9 月 26引入 es6 的类组件
216.32018 年 4 月 3 日生命周期更新
316.42018 年 5 月 23 日生命周期更新
416.82019 年 2 月 6 日引入 react hooks
517.02020 年 10 月 20 日过渡版本
618.02022 年 3 月 29 日写法改变,严格模式发生改变

(2) 项目创建

create-react-app 脚手架使用

需要保证电脑安装 node 版本在 14 以上,系统在 win7 以上

# 方式1:使用npx
$ npx create-react-app react-basic
# 方式2:使用npm
$ npm init react-app react-basic
# 方式3:使用yarn
$ yarn create react-app react-basic

yarn的使用

yarn的安装:npm i yarn tyarn -g
安装依赖:npm i xxx -g  ->  yarn add xxx -globalnpm i xxx -S  ->  yarn add xxxnpm i xxx -D  ->  yarn add xxx -devnpm i         ->  yarn

项目初始化目录:

项目启动yarn start

React 单页面应用 目录分析:

  • manifest.json:图片适配
  • robots.txt:seo优化
  • yarn.lock:版本锁定

(3) 抽离配置文件

eject指令用于抽离配置文件

cra脚手架基于webpack,默认webpack的配置在 node_modules下的react-scripts 内部,但是一般情况下,传输代码时,不会上传 node_modules,那么在必要情况下就必须得抽离配置文件。

通过npm run eject或者cnpm run eject 或者yarn eject指令抽离配置文件

抽离配置文件过程中注意事项

  1. 确保项目的 git 仓库是最新的
  2. 如果不需要对于 webpack 进行配置,那么不需要抽离配置文件
  3. create-react-app v2 默认支持 ts 以及 sass 以及 css 的模块化,如果使用 sass 作为 css 预处理器,那么不需要抽离配置文件

抽离后项目目录产生文件夹:config和scripts

index.js:入口文件 初始测试:

// 引入react
import React from 'react'
// 引入reactDom
// 浏览器端引入reactDom,app端引入react-native
import ReactDOM from 'react-dom/client'const root = ReactDOM.createRoot(document.getElementById('root'))
// jsx语法:允许我们在js文件里面写html
// 可以将我们写的html代码转成虚拟DOM
const msg = 'react!!!'
root.render(<div>hello {msg}</div>)

组件的写法

组件的命名:首字母大写,拓展名(js或jsx

变量名如果是小写字母开头的,认为是标签
变量名如果是大写字母开头的,认为是组件

(1) 函数组件

传参:props

const App = (props) => {return <div>hello {props.msg}!</div>;
};
// 组件实例化
root.render(<Header msg="world"/>);

(2) 类组件

传参:this.props

class App extends React.Component {render() {// 在类组件里面,不知道怎么做的时候,就打印thisconsole.log(this);return <div>hello {this.props.msg}</div>;}
}// root.render(app("world"));
// root.render(app({ msg: "world" }));
// 将组件变成标签的过程就是组件实例化的过程
root.render(<App msg="world" />);

(3) 组件嵌套

import React,{Component,Fragment} from "react";class Msg extends Component{render(){return <div>msg</div>}
}const App = ()=>{return <Fragment><div>组件嵌套</div><Msg></Msg></Fragment>
}export default App;

注:组件中必须有一个根标签

解决组件中必须有一个根标签
方式一: 使用Fragment标签嵌套在所有标签的最外面

import { Fragment } from 'react'
class App extends React.Component{render() {return <Fragment><div>Hello</div><div>World</div></Fragment>}
}

方式二: 在所有标签最外面套一层<></>

const Home = () => {return <><div>Hello</div><div>World</div></>
}

以上两种方式的本质还是共用同一个父组件,但是不会产生新标签,只做占位符,与Vue中的template标签作用相同

(4) 两个组件的区别

  1. 组件的定义方式不同。
  2. 生命周期不同:类组件有,函数式组件没有。
  3. 副作用操作执行不同:class 组件通过生命周期函数,函数组件用 Hooks 的 useEffect。
  4. state 的定义、读取、修改方式不同:函数组件用 hook 的 useState。
  5. this: class 组件有,函数式组件没有。
  6. 实例: class 组件有,函数时组件没有。
  7. ref 使用不同:类组件可以获取子组件实例,函数式组件不可以,因为函数式组件没有实例。

:官方推荐使用函数式组件

结束语

希望对您有一点点帮助,如有错误欢迎小伙伴指正。
👍点赞:您的赞赏是我前进的动力!
⭐收藏:您的支持我是创作的源泉!
✍评论:您的建议是我改进的良药!
一起加油!!!💪💪💪

http://www.yayakq.cn/news/604832/

相关文章:

  • 网站服务费算什么费用湖南省建设厅官网查询证书
  • 网站建设中文摘要是什么全国信息企业公示网官网查询
  • 赣州做网站的公司有哪家南京自助网站推广建站
  • 淄博瓷砖网站建设中企动力软件开发技术培训课程
  • 计算机应用技术专业网站开发方向广东华业建设有限公司网站
  • 中国工程项目网站外贸推广方式
  • 响应式网站开发demo沙发网站建设
  • 宁波外贸网站设计公司无锡平台公司
  • 上海定制网站建设推广电商平台的优势有哪些
  • 怎么做网站运营海外购物网站建设
  • 商城网站开发文档国家建设执业资格注册中心网站
  • wordpress地址站点地址女生适合前端还是后端
  • 网站建设教程免费下载怎样做一个微信小程序
  • 济宁哪里做网站最便宜最近的国际新闻大事10条
  • 做网站如何用模板免费域名申请个人网站
  • 肇庆建网站12306网站为什么做那么差
  • 网站开发有什么用腾讯云wordpress插件下载
  • 张家口桥西区建设局网站主题商店网站设计
  • 帝国cms网站模板香水网站开源模板
  • 网站的推广等内容做的网站怎么发布到网上
  • 通过apache建设网站百度百科分类方法
  • 注册公司取名字大全长春seo公司
  • 南京高新区规划建设局网站上班自己花钱做的网站
  • 如何建设一个社交网站韩国游戏网站设计
  • 哪些网站被墙天津seo培训机构
  • 深圳专业网站设计怎么做做网站数据分析架构
  • 个性创意网站wordpress获取所有分类
  • 如何制作简单的网站移动课程播放网站建设多少钱
  • 关键词是在网站后台做的吗大连网页设计学校
  • 学做彩票网站有哪些北京手机网站建设外包