初识React

React安装

1.首先要安装Node.js以及相对应的NPM

[https://nodejs.org/] 进入官网下载相对应的版本,下载安装直接点击下一步,安装完成后cmd打开命令提示符

检测版本 输入 node -v

安装node会自带一个npm包管理工具

检测npm版本 输入 npm -v

以上两条命令都返回版本号,则安装成功

2.设置npm,国内的npm有点慢,可以设置成淘宝的镜像来代替

cmd命令提示符输入:npm config set registry https://registry.npm.taobao.org

3.安装create-react-app

通过安装create-react-app来创建React项目

在命令行输入 npm install -g create-react-app

4.创建一个React项目

cmd进入项目文件目录,键入命令npx create-react-app demo

这里create-react-app是创建命令,demo是要创建的项目名,根据自己实际情况取

在这里插入图片描述

这样就算创建成功了,根据最后两行的提示进入刚刚创建的demo目录中(cd demo),启动项目(npm start)。

在这里插入图片描述

稍等片刻,跳出上面的网页代表一个基本的项目创建成功。

React环境介绍

node_modules:依赖包
public:入口文件
src:源码文件

React学习

认识react

1.将代码简化,删除css,js代码,只留下一个index.js文件,方便学习,如图所示:

在这里插入图片描述

2.ReactDOM.render的两个参数:

(1)jsx语法:JavaScript+XML语法(HTML)

(2)document.getElementById(‘root’) 获取要插入的容器 'root’在public入口文件index.html中声明了
解读jsx语法:遇到<>按照HTML语法解析,遇到{}按照JavaScript

元素渲染

function tick() {
  const element = (
    <div>
      <h1>Hello, world!</h1>
      <h2>It is {new Date().toLocaleTimeString()}.</h2>
    </div>
  );
  ReactDOM.render(element, document.getElementById('root'));
}

setInterval(tick, 1000);

()的使用,如果存在标签结构,并且标签结构要换行,需要用()

组件

一个React项目,是由成千上万个组件组成

每创建一个组件,需要引入react库 import React from "react"

使用类的形式创建组件,使用render渲染函数

app.jsx

// 引入react库
import React from "react"

//可以在组件中引入组件
import Home from "./home"

// 用类的形式创建组件
class App extends React.Component{
    // 渲染函数
    render(){
        return(
            <div>
              <h1>Hello React Component</h1>
              <h3>学习react</h3>
              <Home />
            </div>
        )
    }
} 

// 导出组件
export default App

也可以直接导出组件

home.jsx

import React from "react"

//直接导出组件
export default class Home extends React.Component{
    render(){
        return(
            <div>
                Home
            </div>
        )
    }
}
index.js

import React from 'react';
import ReactDOM from 'react-dom';

// 引入组件
import App from "./app" ;

//元素渲染
ReactDOM.render(<App />, document.getElementById('root'));

porps属性

app.jsx

// 引入react库
import  React from "react"

//引入组件
import Home from "./home"

import MyNav from "./MyNav"


// 用类的形式创建组件
class App extends React.Component{
    // 渲染函数
    render(){
        const nav1 = ["首页","视频","学习"];
        const nav2 = ["WEB","JAVA","PHP"];

        return(
            <div>
              <h1>Hello React Component</h1>
              <h3>学习react</h3>
              <Home />
              <MyNav nav={ nav1 } title="路径导航"/>
              <MyNav nav={ nav2 } title="学习导航"/>
            </div>
        )
    }
} 

// 导出组件
export default App

父组件定义好传到子组件的 props不可以被修改,但是父组件可以无限复用

MyNav.jsx

import React from "react"

// 父亲定义好传到子元素的 props不可以被修改 
export default class MyNav extends React.Component{
    render(){
        console.log(this.props.nav);
        return(
            <div>
                {/* jsx语法 */}
                <h3>{this.props.title}</h3>
                <ul>
                    {
                        this.props.nav.map((element,index) =>{
                            return <li key={index}>{ element }</li>
                        })
                    }
                </ul>
            </div>
        )
    }
}

在这里插入图片描述

State

组件中的状态:state

以前我们操作页面元素的变化,都是修改Dom,操作Dom

但是有了react框架,不直接操作Dom,页面元素的改变使用State进行处理

在这里插入图片描述

app.jsx

// 引入react库
import  React from "react"

//引入组件
import Home from "./home"

import MyNav from "./MyNav"

import StateComponent from "./StateComponent"

// 用类的形式创建组件
class App extends React.Component{
    // 渲染函数
    render(){
        const nav1 = ["首页","视频","学习"];
        const nav2 = ["WEB","JAVA","PHP"];

        return(
            <div>
              {/* <h1>Hello React Component</h1>
              <h3>学习react</h3>
              <Home />
              <MyNav nav={ nav1 } title="路径导航"/>
              <MyNav nav={ nav2 } title="学习导航"/> */}
              <StateComponent />
            </div>
        )
    }
} 

// 导出组件
export default App

使用this.state定义状态

StateComponent.jsx

import React from "react"

export default class StateComponent extends React.Component{
    constructor(props){
        super(props);
        this.state = {//定义状态
            count:10,
            flag:true
        }
    }
    increment(){
       this.setState({
         count:this.state.count+=1
       })
    }
    decrement(){
      this.setState({
        count:this.state.count-=1
      })
    }
    clickHandler = () =>{
      console.log(this);
    }
   
    render(){
        let showView = this.state.flag ?'我是孙悟空' : '我是假的'
        return(
            <div>
                <h3>组件的state</h3>
                <p> {this.state.count} </p>
                <button onClick={  this.increment.bind(this) }>增加</button>
                <button onClick={  this.decrement.bind(this) }>减少</button>
                <button onClick={  this.clickHandler} >关于this</button>
                <p> { showView }</p>
            </div>
        )
    }
}
内容概要:本文档《Docker 新手入门指南》详细介绍Docker这一开源容器化平台,旨在帮助新手理解并掌握Docker的核心概念和基本操作。文中首先解释了Docker的概念及其相对于传统虚拟机的优势,如更快的启动速度、更低的资源占用和更好的隔离性。接着,文档提供了详细的安装步骤,包括不同操作系统下的安装方法以及针对国内用户的镜像加速配置。随后,文章深入讲解了镜像管理和容器操作的基础命令,如拉取镜像、运行容器等。进一步地,文档介绍了使用Dockerfile构建自定义镜像、实现数据持久化、进行端口映射以及利用Docker Compose管理多容器应用等高级技巧。最后,给出了一些学习建议和注意事项,鼓励读者动手实验并关注安全性。 适合人群:适合对容器技术感兴趣的初学者,尤其是有一定Linux基础或打算深入了解Docker的开发人员。 使用场景及目标:①帮助读者快速上手Docker,掌握从安装到实际操作的一系列技能;②通过实例演示,如构建Python Web服务、部署WordPress和搭建Jenkins环境,让读者能够将所学应用于实际项目中;③强调容器化的优势,如提高部署效率、解决环境差异问题。 阅读建议:建议读者跟随文档逐步操作,亲身体验每个步骤,同时参考官方文档和社区资源,不断实践以巩固所学知识。特别注意安全性和资源管理方面的提示,确保容器环境的安全稳定运行。
据QYResearch调研团队最新报告“全球斗式提升机链条市场报告2024-2030”显示,预计2030年全球斗式提升机链条市场规模将达到1亿美元,未来几年年复合增长率CAGR为4.4%。 市场驱动因素: 散装物料输送行业的增长:水泥、采矿、农业和发电等行业的需求不断增长,推动了斗式提升机在垂直物料运输中的应用。基础设施建设和工业化:全球建筑活动的不断增长和工业厂房的扩张推动了对重型输送系统的需求。链式系统的效率和耐用性:链式斗式提升机因其强度高、使用寿命长而成为重型和高温应用的首选。自动化和工厂优化:采用自动化和智能控制系统可提高链式输送机的性能和运行效率。 市场制约因素: 初始安装和维护成本高:与基于皮带的替代方案相比,链式系统更昂贵且更复杂,尤其对于小型作业而言。恶劣环境下的磨损:如果不进行适当的维护,持续暴露于磨蚀性或腐蚀性材料中会导致更快的老化。某些设施的空间限制:斗式提升机的垂直设计和占地面积可能并不适合所有场地布局,从而限制了其适用性。 市场机遇: 链条材料的技术进步:耐磨耐腐蚀合金和涂层的开发延长了产品的使用寿命和可靠性。农业和食品加工行业的扩张:新兴市场对谷物处理、化肥运输和散装食品转运的需求不断增长,推动了链条的使用。现有系统的改造和升级:有机会用高性能链条系统替换过时的机械部件,以提高产量。对节能输送解决方案的需求不断增长:对降低能耗的重视推动了链传动系统和铲斗设计的创新。 根据QYResearch头部企业研究中心调研,全球范围内斗式提升机链条生产商主要包括Tsubakimoto Chain、Renold、Thiele、Pewag、RUD Ketten、HEKO Group、John King Chains、B.V.Transmission Industries、Transmin、华通气动等。2024年,全球前五大厂商占有大约51.0%的市场份额。 就
内容概要:本文由麦肯锡发布,探讨了人工智能(AI)特别是生成式AI(gen AI)如何重塑组织架构及创造价值。研究表明,企业正在通过重新设计工作流程、提升治理水平和应对更多与gen AI相关的风险来捕捉AI的价值。CEO对AI治理的监督与工作流的重新设计是取得财务影响的关键因素。大公司正引领这一变革,它们更积极地招聘AI相关人才并进行员工再培训。此外,企业正逐步采用AI于多个业务职能,包括营销、销售、产品开发和服务运营。尽管目前大部分公司尚未看到AI对企业整体利润的显著影响,但已有迹象表明,AI的应用正在增加收入并减少成本。 适合人群:企业高管、AI项目经理、战略规划人员以及对AI技术应用感兴趣的商业人士。 使用场景及目标:①帮助企业管理层理解如何通过AI技术优化内部流程并提高效率;②为AI项目的实施提供参考,确保企业在部署AI时能够最大化其商业价值;③指导企业在风险管理、人才招聘和员工技能升级方面做出明智决策。 其他说明:随着AI技术的发展,企业需要不断调整自身结构和流程以适应新技术带来的变化。文中提到的最佳实践如建立专门团队推动AI采用、定期沟通AI价值、高层领导积极参与等做法,可以为企业成功引入AI提供有益借鉴。此外,文中还强调了AI对不同行业的影响差异,以及个人使用AI工具的趋势变化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值