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

react-router-dom Link组件报错:TypeError: 赋值右侧无法解构

问题修复方案

错误根源

问题出在Link组件的onClick属性赋值:onClick={props.onClick?.call}。call是函数的原型方法,它需要第一个参数作为执行上下文(this),但React触发点击事件时会把事件对象作为第一个参数传入,这就导致call接收到的参数完全不符合预期,最终抛出解构错误。

修复后的完整代码

import { Link } from "react-router-dom";

export type NavigationButtonProps = {
  linkTo: string;
  text: string;
  active: boolean;
  onClick?: () => void;
};

const NavigationButton = (props: NavigationButtonProps) => {
  return (
    <Link
      to={props.linkTo}
      className={props.active ? "decoration-accent underline decoration-4" : ""}
      onClick={props.onClick}
    >
      {props.text}
    </Link>
  );
};

export default NavigationButton;

额外说明

如果需要自定义事件参数传递(比如额外传值),可以用箭头函数包裹:

onClick={(event) => {
  // 可在此添加自定义逻辑
  props.onClick?.(event);
}}

但当前场景下,直接传递props.onClick就足够,React会自动把点击事件对象传递给回调函数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 19:52:55