React重新渲染UI时遇到的坑

React应用在更新UI时,通过虚拟DOM对比来提升性能。然而,直接操作实体DOM可能导致React无法识别变化。例如,一个拖拽表格行的例子中,虽然数据正确更新,但因React未检测到行顺序变化,导致渲染结果错误。问题在于React仅根据虚拟DOM的变更进行渲染,忽视了实体DOM的实际变动。
摘要由CSDN通过智能技术生成

React在render重新渲染UI时会与原先渲染时的虚拟DOM比较差异,然后只重新渲染差异部分以提高性能  *注意是虚拟DOM,这会导致通过js对实体DOM的操作,React是无法识别的。

举个例子:

import React,{ Component } from "react";
import './index.css';
class FormTable extends Component{
    constructor(props){
        super();
        this.state={
            table:[
            {
                col1:'1',
                col2:'2',
                col3:'3',
                col4:'4',
            },
            {
                col1:'5',
                col2:'6',
                col3:'7',
                col4:'8',
            },
            {
                col1:'9',
                col2:'10',
                col3:'11',
                col4:'12',
            },
            {
                col1:'13',
                col2:'14',
                col3:'15',
              
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值