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

Reactstrap OffCanvas报错:Transition的nodeRef属性类型不符求解决

解决Reactstrap Offcanvas的"Invalid prop nodeRef of type function"报错

这个报错的核心原因是Reactstrap的Offcanvas组件依赖的Transition组件要求nodeRef必须是React ref对象,但当前组件内部传递的是函数类型的ref,不符合类型校验规则。

解决方案

创建一个React ref对象,通过nodeRef属性传递给Offcanvas组件即可解决问题,同时确保你的reactstrap版本为v9+,并搭配兼容的react-transition-group版本(推荐v4+)。

修改后的代码示例

import { useRef } from 'react';
import { Button, Offcanvas, OffcanvasBody, OffcanvasHeader } from 'reactstrap';

function App() {
  // 创建ref对象
  const offcanvasRef = useRef(null);

  return (
    <div className="container mt-3 p-1">
      <div>
        <Button
          color="primary"
          onClick={function noRefCheck() { }}
        >
          Open
        </Button>
        <Offcanvas
          isOpen={true}
          toggle={function noRefCheck() { }}
          // 将ref传递给nodeRef属性
          nodeRef={offcanvasRef}
        >
          <OffcanvasHeader toggle={function noRefCheck() { }}>
            Offcanvas
          </OffcanvasHeader>
          <OffcanvasBody>
            <strong>
              This is the Offcanvas body.
            </strong>
          </OffcanvasBody>
        </Offcanvas>
      </div>
    </div>
  );
}

export default App;

说明

通过useRef创建的ref对象符合Transition组件对nodeRef的类型要求,传递后即可通过prop类型校验,消除控制台报错。

内容的提问来源于stack exchange,提问作者Sakhawat Hossain Sohel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 22:32:16