Antd modal 不会对自定义 hook 的状态更改做出反应。
创始人
2024-11-07 08:30:11
0

在Antd Modal中,当我们使用自定义hook来管理状态时,可能会遇到不能正确响应状态更改的问题。这是由于React的更新机制所导致的。

解决这个问题的方法是使用React的useEffect钩子来监听状态的变化,并在状态变化时手动更新Modal的可见性。

下面是一个示例代码,演示了如何使用useEffect来解决这个问题:

import React, { useState, useEffect } from 'react';
import { Button, Modal } from 'antd';

function useCustomHook() {
  const [isVisible, setIsVisible] = useState(false);

  const showModal = () => {
    setIsVisible(true);
  };

  const hideModal = () => {
    setIsVisible(false);
  };

  return {
    isVisible,
    showModal,
    hideModal,
  };
}

function App() {
  const { isVisible, showModal, hideModal } = useCustomHook();

  useEffect(() => {
    // 手动更新Modal的可见性
    Modal.update({
      visible: isVisible,
    });
  }, [isVisible]);

  return (
    

这是一个Antd Modal示例。

); } export default App;

在上面的代码中,我们使用了一个自定义hook useCustomHook 来管理Modal的可见性状态。然后,我们在App组件中使用useEffect来监听 isVisible 状态的变化,并在状态变化时手动更新Modal的可见性。

这样,无论我们在自定义hook中如何更改 isVisible 状态,Modal都会正确响应状态的变化。

相关内容

热门资讯

了解透视!wepoker买脚本... 了解透视!wepoker买脚本靠谱吗,微信小程序微乐辅助器,秘籍教程(有人有挂)-哔哩哔哩1、首先打...
辅助透视!wepoker破解器... 辅助透视!wepoker破解器有用吗,微乐家乡脚本助手,绝活教程(真实有挂)-哔哩哔哩1、用户打开应...
必备透视!impoker辅助,... 必备透视!impoker辅助,微乐兰州麻将小程序辅助,积累教程(有挂教学)-哔哩哔哩1、起透看视 i...
揭幕透视!wepoker私人局... 揭幕透视!wepoker私人局辅助挂,微乐手游脚本辅助,操作教程(有挂教学)-哔哩哔哩1、游戏颠覆性...
解迷透视!智星德州可以透视吗,... 解迷透视!智星德州可以透视吗,微乐建房辅助工具免费入口,手册教程(有挂猫腻)-哔哩哔哩1、实时智星德...
详细透视!hhpoker智能辅... 详细透视!hhpoker智能辅助插件,苹果手机微信小程序游戏破解器,攻略教程(有挂技巧)-哔哩哔哩h...
总结透视!hhpoker辅助挂... 总结透视!hhpoker辅助挂是真的吗,微乐卡五星祈福有用吗,阶段教程(有挂解密)-哔哩哔哩1、hh...
揭露透视!wepoker手机版... 揭露透视!wepoker手机版透视脚本,微乐家乡小程序脚本ios,教材教程(有挂功能)-哔哩哔哩1、...
解迷透视!红龙poker辅助平... 解迷透视!红龙poker辅助平台,微乐广西小程序插件,模块教程(有挂规律)-哔哩哔哩小薇(辅助器软件...
详细透视!WePoKer辅助器... 详细透视!WePoKer辅助器,微乐智能插件激活码,要领教程(存在有挂)-哔哩哔哩详细透视!WePo...