我很好奇我是否能做这样的事:

const [panelActive, setPanelActive] = useState(false);
(globalThis as any).setPanelActive = setPanelActive;

useEffect(() => console.log(panelActive), [panelActive])

由于某种原因,当我从外部调用setPanelActive函数时,useEffect不会被触发.
我是否应该创建某种包装或上下文提供程序以使其工作?

推荐答案

感谢大家的参与.在对@hatana提到的内容进行了一些研究后,我找到了一个解决方案-event bus.它做的正是我想要的.

Typescript相关问答推荐

类型是工作.但它失go 了正确变体的亮点..为什么?或者如何增强?

您可以创建一个类型来表示打字员吗

为什么缩小封闭内部不适用于属性对象,但适用于声明的变量?

动态判断TypScript对象是否具有不带自定义类型保护的键

TS不推断类型在条件判断后具有属性'

路由链接不会导航到指定router-outlet 的延迟加载模块

Material UI / MUI系统:我如何告诉TypeScript主题是由提供程序传递的?

<;T扩展布尔值>;

笛卡尔产品类型

保护函数调用,以便深度嵌套的对象具有必须与同级属性函数cargument的类型匹配的键

编译TypeScrip项目的一部分导致错误

刷新时保持当前名称的Angular

专用路由组件不能从挂钩推断类型

在Cypress中,是否可以在不标识错误的情况下对元素调用.Click()方法?

如果判断空值,则基本类型Gaurd不起作用

基于区分的联合键的回调参数缩小

导航链接不触发自定义挂钩

React-跨组件共享功能的最佳实践

TypeScript是否不知道其他函数内部的类型判断?

从接口推断模板参数?