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

如何通过useState修改Ant Design Button的disabled禁用状态

问题原因

你当前的写法本身支持响应clicked状态变化,状态未更新大概率是没有将clickedLink函数绑定到「Click Here」按钮的onClick事件上;另外重复声明两个Button的写法可以优化,不需要做完整的组件条件渲染,直接动态绑定disabled属性即可。

修复实现方案

  • 给「Click Here」按钮绑定onClick事件,触发状态更新逻辑
  • 优化Continue按钮写法,直接通过状态控制disabled属性值,减少冗余代码
import { useState } from 'react';
// 假设你的Button组件、links、buttonStyle2已提前正确引入/声明

function YourComponent() {
  const [clicked, setClicked] = useState(false); 
  // 点击事件函数,直接传布尔值即可,无需额外使用函数式更新
  const handleClickHere = () => setClicked(true);

  return (
    <div>
      {/* 「Click Here」按钮必须绑定onClick事件才能触发状态更新 */}
      <Button onClick={handleClickHere}>Click Here</Button>
      
      {/* 动态绑定disabled属性,组件重渲染时会自动读取最新的clicked值 */}
      <Button 
        href={links[0]} 
        target="_blank" 
        style={buttonStyle2} 
        disabled={!clicked}
      >
        Continue
      </Button>
    </div>
  )
}

React的状态更新会自动触发组件重渲染,disabled={!clicked}会在每次重渲染时自动读取最新的clicked值,不需要额外做监听操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:36:09