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

使用react-virtualized+react-rnd出现Rendered cell定位样式警告求解决

解决react-virtualized与react-rnd共存时的单元格定位警告

问题根源

react-virtualized的List2/Grid2组件要求rowRenderer返回的根元素必须接收传入的style参数——这个style包含虚拟列表定位所需的绝对位置、尺寸信息。你当前的代码用<React.Fragment>作为根元素,但Fragment不支持style属性,即便内部的<p>标签传了style,库也检测不到根元素的定位样式,因此抛出警告。

解决办法

把根元素替换为真实的DOM容器(比如<div>),并将style参数直接传给这个容器:

rowRenderer={({index, key, style}) => {
  const line = store.rightMessages[index];
  return (
    <div key={key} style={style}>
      <CopyToClipboard key={line.id} text={line.message} onCopy={handleCopy}>
        <p
          className={cx({
            [classes.line]: true,
          })}>
          {line.message}
        </p>
      </CopyToClipboard>
    </div>
  );
}}

额外说明

  • 不需要再给内部的<p>标签传style,根容器的style已经能满足虚拟列表的定位需求
  • 如果担心新增的<div>影响布局,可以给它添加类名,用CSS重置默认的margin、padding,或者设置box-sizing: border-box来避免布局偏移
  • 若不想用<div>,也可以将<CopyToClipboard>作为根元素并传入style(前提是该组件会将style透传给它的外层包裹元素),但用<div>是最稳妥的方案

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 09:23:13