关于React

本文深入探讨React的虚拟DOM机制,解析JSX语法与样式应用,对比函数组件与类组件特性,阐述props与state在组件间传递及状态管理的关键作用。

React

  1. 把虚拟DOM渲染到真正DOM中

    • ReactDom.render(组件,document.getElementById(根元素))
  2. 虚拟DOM提升性能:虚拟DOM最大特点是只更新变化的内容,不变的内容就地复用

  3. JSX语法: {},相当于vue的 {{}}

    style={{key:val,key:val}} //第一个大括号为jsx语法,第二个大括号为style内写法
    
    或使用
        let boxStyle = {
                "color":"chocolate"
        }
        <h3 style = {boxStyle} > {3>2?3:2}</h3>
    
  4. 组件声明:函数名大写

    函数组件:
    	语法:function App(){return (jsx)} //函数名大写
    	如:	
    	  function App( ) {//函数组件名必须大写
                return (
                    <div>
                        <h2>函数声明的组件</h2>
                    </div>
                )
            }
    
    类组件: 语法: class App extends React.Component{render() {return jsx}}
    		如 :  class App extends React.Component{
                render(){
                    return(
                        <div>
                            <h1>class声明的组件</h1>
                        </div>
                    )}
      			 }
    

    类组件和函数组件的区别:

    • 函数组件和类组件都可以传入props,但是传入方式不同,函数组件直接接受形参的方式传入props

    • 类组件使用this.props传入

    • 函数组件也叫做无状态组件,没有state状态和生命周期,类组件又叫做有状态组件,组件中可以使用state状态和生命周期

    • 无状态组件性能比有状态组件性能高,在组件内不进行数据变动的时候要使用无状态组件

  5. props值的作用: props是一个传入组件的参数,可以传入任何数据类型,主要作用是提高组件的复用率,一般情况下是进行父组件向子组件传值去使用,props是不能改动的,只是进行固定内容的渲染那使用

  6. Props的只读性:所有React组件都必须像纯函数一样保护它们的props不被更改

  7. React组件中state状态的作用:React把组件看成是一个状态机(State Machines)。通过与用户的交互,实现不同状态,然后渲染UI,让用户界面和数据保持一致。React里,只需要更新组件的state,然后根据新的state重新渲染用户界面(不要操作DOM)

  8. state作用把组件中要根据时间推移或者用户动作改变的一些数据放在state中,所以state是存放初始化数据,需要改变的数据一个数据类型,state中的数据是可变动的

  9. react的类组件constructor中为什么要调用super?

    react中的类组件是根据es6中class语法进行分装的,子类在继承时,是没有this指向,使用super()把父类中的this指向借用过来,this指向当前实例

  10. setState作用: 改变状态(state)中的数据,从而重新渲染视图(HTML),不要直接改变state的值,唯一改变state值的方法就是使用setState

  11. setState中传入的参数:

    使用setState改变state中值的时候,可以传入对象,也可以传入回调函数,也可以两个同时传入,异步去修改数据时,使用回调函数形式,如果需要在方法中拿到变更过的数据时,可在回调函数中进行

根据原作 https://pan.quark.cn/s/0ed355622f0f 的源码改编 野火IM解决方案 野火IM是专业级即时通讯和实时音视频整体解决方案,由北京野火无限网络科技有限公司维护和支持。 主要特性有:私有部署安全可靠,性能强大,功能齐全,全平台支持,开源率高,部署运维简单,二次开发友好,方便与第三方系统对接或者嵌入现有系统中。 详细情况请参考在线文档。 主要包括一下项目: 野火IM Vue Electron Demo,演示如何将野火IM的能力集成到Vue Electron项目。 前置说明 本项目所使用的是需要付费的,价格请参考费用详情 支持试用,具体请看试用说明 本项目默认只能连接到官方服务,购买或申请试用之后,替换,即可连到自行部署的服务 分支说明 :基于开发,是未来的开发重心 :基于开发,进入维护模式,不再开发新功能,鉴于已经终止支持且不再维护,建议客户升级到版本 环境依赖 mac系统 最新版本的Xcode nodejs v18.19.0 npm v10.2.3 python 2.7.x git npm install -g node-gyp@8.3.0 windows系统 nodejs v18.19.0 python 2.7.x git npm 6.14.15 npm install --global --vs2019 --production windows-build-tools 本步安装windows开发环境的安装内容较多,如果网络情况不好可能需要等较长时间,选择早上网络较好时安装是个好的选择 或参考手动安装 windows-build-tools进行安装 npm install -g node-gyp@8.3.0 linux系统 nodej...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值