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

亦庄网站建设价格做网站是要收费的吗

亦庄网站建设价格,做网站是要收费的吗,网站免费的不用下载,郑州做网站的大公司React 快速入门#xff1a;掌握前端开发的核心技能 一、React 简介1.1 React 的历史1.2 React 的概念1.3 React 的特点1.4 React 的官网地址 二、开发环境搭建三、React 基础3.1 JSX3.2 组件3.3 Props3.4 State3.5 props 和 state 的区别3.6 Hook 四、React 生命周期五、添加样… React 快速入门掌握前端开发的核心技能 一、React 简介1.1 React 的历史1.2 React 的概念1.3 React 的特点1.4 React 的官网地址 二、开发环境搭建三、React 基础3.1 JSX3.2 组件3.3 Props3.4 State3.5 props 和 state 的区别3.6 Hook 四、React 生命周期五、添加样式、显示数据六、条件渲染七、渲染列表八、响应事件九、组件间共享数据 一、React 简介 React 的雏形在 Facebook 内部首次出现。由于当时 Facebook 的前端代码越来越复杂开发团队感受到了传统的 MVCModel-View-Controller框架的局限性开始探索一种更加灵活和高效的前端开发方式。所以 React 就出现了。 1.1 React 的历史 2010 年 Facebook 在其 php 生态中引入了 xhp 框架首次引入了组合式的思想启发了后来的 React 的设计。2011 年 Jordan Walke 创造了 FaxJs也就是后来的 React 原型。2012 年在 Facebook 收购 Instagram 后该 Faxus 项目在内部得到使用。Jordan Walke 基于 FaxJs 的经验创造了 React。2013 年 React 正式开源在 2013 年 Jsconf 上 Jordan Walke 介绍了这款全新的框架。2014 年——今天生态大爆发各种围绕 React 的新工具/新框架开始涌现。2015 年 Jordan 开始捣鼓 React Native 并发布。然后是 Dan 和 Andrew 发明 Redux。2016 年React 成为主流。2017 年尝试解决性能问题开始了数年的重构引入 Fiber 架构。2019 年Sebastian 终于设计出了替代 Class 组件副作用的函数式解决方案 - Hooks。完美解决了副作用和业务逻辑复用的问题。2022 年v18concurrent 特性上线。2023 年 React 新文档发布。2024 年1月29日React 15.4.0正式版发布标志着React进入了一个新的发展阶段带来了一系列新特性和改进。这个版本不仅展示了React在性能优化方面的新进展也体现了组件化的进一步深化。 1.2 React 的概念 React 是一个由 Facbook 开发的 JavaScript 库用于构建用户界面。它以可重用的组件为基础使得开发复杂的用户界面变得更加容易和高效。再 React 中 组件是用户界面的基本构建块它们可以接收数据、响应用户交互以及根据数据的改变而更新。 1.3 React 的特点 组件化开发将用户界面拆分为独立的组件每个组件可以独立开发和更新。高效React 使用虚拟 DOM 来优化 DOM操作从而提高应用程序的性能。灵活React 支持单向数据流和组件嵌套可以方便地构建复杂地应用程序。易于维护React 的代码分离和模块化使得应用程序易于维护。支持多种开发方式React 支持函数式编程、类式编程和基于魂灵Hooks的编程方式。社区活跃React 拥有庞大的开发者社区并持续推出新特性和更新。 1.4 React 的官网地址 React 官方地址https://react.docschina.org/ react 中文官网地址https://react.nodejs.cn/ 二、开发环境搭建 在开始使用 React 之前我们需要设置开发环境。首先确保你已经安装了 Node.js 和 npm。然后使用以下命令创建一个新的 React 应用 # 创建一个名为 my-app 的 react 应用 npx create-react-app my-app# 切换到 my-app 目录下 cd my-app# 启动当前项目 npm start这将创建一个名为 my-app 的新目录并启动一个开发服务器你可以在浏览器中访问http://localhost:3000 来查看你的应用。 三、React 基础 3.1 JSX JSX 是一种 JavaScript 的语言扩展它允许你在 JavaScript 中编写类似 HTML 的代码。例如 const element h1Hello, World!/h1;3.2 组件 React 应用由多个组件组成每个组件都有自己的状态和逻辑。组件可以小到一个按钮也可以大到整个页面。组件可以是函数或类 function Welcome(props){return h1Hello, {props.name}/h1; }至此你已经声明了Welcome现在把它嵌套到另一个组件中 export default function MyApp() {return (divh1Welcome to my app/h1Welcome //div); }注意React 组件必须以大写字母开头而 HTML 标签则必须是小写字母。 3.3 Props Props 是组件的输入它们是只读的。你可以将 props 传递给子组件 function Welcome(props){return h1Hello, {props.name}/h1; }const element Welcome nameSara /;3.4 State 通常你会希望你的组件“看记住”一些信息并展示出来比如一个按钮被点击的次数。要做到这一点你需要在你的组件中添加 State。 State 是组件的私有数据它可以改变。使用 useState Hook 来在函数组件中添加状态 // 引入 useState import React, { useState } from react;function Counter() {// 声明一个 state 变量const [count, setCount] useState(0);return (divpYou clicked {count} times/pbutton onClick{() setCount(count 1)}Click me/button/div); }你将从 useState 中获得两样东西当前的 state (count)以及用于更新它的函数setCount。你可以给它们起任何名字但按照惯例会像[something, setSomething] 这样给为它们命名。 第一次显示按钮时count 的值为 0因为你把 0 传给了 useState() 。当你想改变 state 时调用 setCount() 并将新的值传递给它。点击该按钮计数器将递增。 如果你多次渲染同一个组件每个组件都会拥有自己的 state。 import { useState } from react;export default function MyApp() {return (divh1Counters that update separately/h1MyButton /MyButton //div); }function MyButton() {const [count, setCount] useState(0);function handleClick() {setCount(count 1);}return (button onClick{handleClick}Clicked {count} times/button); } 3.5 props 和 state 的区别 关系 props 和 state 都是组件的状态但它们有不同的作用域和用途。当子组件需要传递数据给父组件时可以使用 props。当组件需要跟组内部状态并进行相应更新时可以使用 state。 区别 props 是只读的父组件传递给子组件不能改变。而 state 是可写的子组件可以根据用户交互或其他条件更新 state。props 是由父组件提供而 state 可以由组件自己管理。props 是为了传递数据给子组件state 则是为了跟踪组件内部状态。 3.6 Hook 以 use 开头的函数被称为 Hook。useState 是 React 提供的一个内置 Hook。 Hook 比普通函数更为严格。你只能在你的组件或其他 Hook 的 顶层 调用Hook。如果你想在一个条件或循环中使用 useState 请提取一个新的组件并在组件内部使用它。 常用的 Hook useState用于在函数组件中添加状态state管理。useEffect用于在函数组件中执行副作用操作比如订阅数据、设置定时器、手动操作 DOM 等。useRef用于函数组件中创建可变的引用。useContext用于在函数组件中使用 Context。 四、React 生命周期 React 组件有多个生命周期方法它们在组件的不同阶段被调用。常用的生命周期方法包括 componentDidMount 组件挂载后调用componentDidUpdate 组件更新后调用componentWillUnMount 组件卸载前调用 五、添加样式、显示数据 在 React 中 你可以使用 className 来指定一个 CSS 的 class。它与 HTML 的 class 属性的工作方式相同 import * as React from react; import ./index.css;const user {name: 张三,imageUrl: /favicon.png,imageSize: 90, };const HelloWorld () {function Profile() {return (h1{user.name}/h1imgclassNameacatarsrc{user.imageUrl}alt{Photo of ${user.name}}style{{width: user.imageSize,height: user.imageSize,}}//);}return (h1Welcome to my app/h1Profile //); };export default HelloWorld; 然后你可以在一个单独的 CSS 文件中为它编写 CSS 规则 /* In your CSS */ .avatar {border-radius: 50%; }React 并没有规定你如何添加 CSS 文件。最简单的方式是使用 HTML 的 link 标签。 JSX 会让你把标签放到 JavaScript 中。而大括号会让你“回到”JavaScript 中这样你就可以从你的代码中嵌入一些变量并展示给用户。user.name 会显示 张三你还可以将 JSX 属性“转义到 JavaScript”但你必须使用大括号 而非 引号。classNameavatar 是将avatar 字符串传递给 className作为 CSS 的 class。但 src{user.imageUrl} 会读取 JavaScript 的 user.imageUrl 变量然后将该值作为 src 属性传递。 在上面示例中style{{}} 并不是一个特殊的语法而是 style{ } JSX 大括号内的一个普通 {} 对象。当你的样式依赖于 JavaScript 变量时你可以使用 style 属性。 六、条件渲染 React 没有特殊的语法来编写条件语句因此你使用的就是普通的 JavaScript 代码。例如使用if 语句根据条件引入 JSX let content; if (isLoggedIn) {content AdminPanel /; } else {content LoginForm /; } return (div{content}/div );如果你喜欢更为紧凑的代码可以使用 condition ? value1 : value2 运算发。与 if 不同的是它工作与 JSX 内部 div{isLoggedIn ? (AdminPanel /) : (LoginForm /)} /div当你不需要 else 分支时你还可以使用 逻辑 语法 div{isLoggedIn AdminPanel /} /div七、渲染列表 你将依赖 JavaScript 的特性例如 for 循环和 array 的 map() 函数来渲染组件列表。 假设你有一个产品数组 const products [{ title: Cabbage, id: 1 },{ title: Garlic, id: 2 },{ title: Apple, id: 3 }, ];在你的组件中使用 map() 函数将这个数组转换为 li 标签构成的列表 const listItems products.map(product li key{product.id}{product.title}/li );return (ul{listItems}/ul );注意li 有一个 key 属性。对于列表中的每一个元素你都应该传递一个字符串或者数字给 key用于在其他兄弟节点中唯一标识该元素。通常 key 来自你的数据比如数据库中的 ID。如果你在后续插入、删除或重新排序这些项目 React 将依靠你提供的 key 来思考发生了什么。 八、响应事件 你可以通过在组件中声明 **事件处理函数 ** 来响应事件 function MyButton() {function handleClick() {alert(You clicked me!);}return (button onClick{handleClick}Click me/button); }注意onClick{handleClick} 的结尾没有小括号不要 **调用 **事件处理函数你只需 把函数传递给事件 即可。当用户点击按钮时 React 会调用你传递的事件处理函数。 九、组件间共享数据 在前面的示例中每个 MyButton 都有自己独立的 count 当每个按钮被点击时只有被点击按钮的count 才会发生改变 然而你经常需要组件 共享数据并一起更新。 为了使得 MyButton 组件显示相同的 count 并一起更新你需要将各个按钮的 state “向上”移动到最接近包含所有按钮的组件之中。 在这个示例中它是 MyApp 此刻当你点击任何一个按钮时MyApp 中的 count 都将改变同时会改变 MyButton 中的两个count。 首先将 MyButton 的 state 上移到 MyApp 中 export default function MyApp() {const [count, setCount] useState(0);function handleClick() {setCount(count 1);}return (divh1Counters that update separately/h1MyButton /MyButton //div); }function MyButton() {// ... were moving code from here ... }接着将 MyApp 中的点击事件处理函数以及** state 一同向下传递到** 每个 MyButton 中。你可以使用 JSX 的大括号向 MyButton 传递信息。就像之前向 img 等内置标签所做的那样 export default function MyApp() {const [count, setCount] useState(0);function handleClick() {setCount(count 1);}return (divh1Counters that update together/h1MyButton count{count} onClick{handleClick} /MyButton count{count} onClick{handleClick} //div); }使用这种方式传递的信息被称作 prop。此时 MyApp 组件包含了 count state 以及 handleClick 事件处理函数并将它们作为 **prop 传递给 **了每个按钮。 最后改变 MyButton 以 **读取 **从父组件传递来的 prop function MyButton({ count, onClick }) {return (button onClick{onClick}Clicked {count} times/button); }当你点击按钮时onClick 处理程序会启动。每个按钮的 onClick prop 会被设置为 MyApp 内的 handleClick 函数所以函数内的代码会被执行。该代码会调用 setCount(count 1)使得 state 变量 count 递增。新的 count 值会被作为 prop 传递给每个按钮因此它们每次展示的都是最新的值。这种成为“ 状态提升”。通过向上移动 state我们实现了在组件间共享它。
http://www.pierceye.com/news/187738/

相关文章:

  • 网站突然不收录了如何形容一个网站做的好
  • 怎么建网站教程视频做网站跟推广哪家公司好
  • 怎么做网站报告四平网站公司
  • 飞扬动力网站建设支付网站建设要求
  • 达美网站建设廊坊seo扣费
  • 好享购物官方网站购物网页制作与网站开发从入门到精通
  • 坪山网站建设哪家便宜系部网站建设研究方案
  • 如何备份网站上海的招聘网站有哪些
  • 企业门户网站建设流程蝶恋花直播app下载安装
  • 株洲网站建设推广报价seo基础知识培训视频
  • 漳州网站建设选博大不错php网站开发经理招聘
  • 分类网站建设黄陌陌网站怎么做
  • 做网站大概多钱互联网广告投放
  • 信通网站开发中心qq说说赞在线自助下单网站
  • 搭建网站步骤做电影网站需要什么条件
  • 您网站建设动漫设计与制作 学校
  • 利用模板如何制作网站泰安整站优化
  • 网站开发与网站建设网站上的聊天框怎么做的
  • 任务网站(做任务学技能的)开发公司宣传册
  • 织梦搭建商城网站高端网站建设深圳
  • 做网站排名优化的公司无需下载直接登录qq手机版
  • 网站不备案不能访问吗wordpress主题开发404页面
  • 工作总结个人总结自动app优化下载
  • 网站开发推荐书籍比较大的外贸网站
  • 上饶建设网站郑州网
  • 做淘宝客网站一定要备案吗没有网站域名备案
  • 用QQ群做网站排名慈溪网站制作哪家最好
  • 兴宁市网站建设手工艺品网站建设策划书
  • flash做网站导航网站品牌建设流程
  • 公司建设网站属于什么费用网站打模块