You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React状态在元素审查中更新但DOM未同步问题求助

问题解决:React中textarea状态更新但DOM内容不同步

你遇到的核心问题是textarea使用了非受控属性defaultValue,导致状态更新后DOM内容未同步。

问题原因

defaultValue是React中非受控组件的属性,仅在组件首次渲染时赋值一次。后续即使displayContent状态发生变化,textarea也不会重新读取这个值,所以DOM内容保持不变。

解决方案

将textarea的defaultValue替换为value,把它改成受控组件,这样组件会始终与displayContent状态保持同步:

修改前的textarea代码:

<textarea
    className="bg-[rgb(20,20,20)] p-2 pt-1 border-[1px] border-t-0 border-yellow-300 border-dashed text-yellow-300"
    placeholder={placeHolder}
    defaultValue={displayContent}
    onChange={props.updateContent}
></textarea>

修改后的textarea代码:

<textarea
    className="bg-[rgb(20,20,20)] p-2 pt-1 border-[1px] border-t-0 border-yellow-300 border-dashed text-yellow-300"
    placeholder={placeHolder}
    value={displayContent}
    onChange={props.updateContent}
></textarea>

额外注意点

确保props.updateContent函数能正确更新父组件中contentInside对应字段的值,这样切换语言时,props.contentInside.html/css/js能获取到最新内容,保证切换逻辑的完整性。

内容的提问来源于stack exchange,提问作者user20684440

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 17:07:39