【发布时间】:2021-02-18 03:56:47
【问题描述】:
备注:这不是Change the state when clicking outside a component in React的重复 我不想处理 mousedown/mouseup 事件。
我想“从外部”更改组件的状态。因此,组件将等到 HTML 代码执行一些操作 id(按钮单击)。 单击可以更改 DOM 中的某些内容,但是有没有办法(另一种方法是监视 buttondown 事件)来检测更改?
结果会是这样的:
<div id="root">
... the component will be rendered here, hidden at the beginning
</div>
<button onClick=....>Show the Component</button>
【问题讨论】:
-
按钮是否是 React 组件的一部分(即使它与您想要执行此操作的位置完全不同的 UI 部分?可以吗?
-
你所说的“从外部”是什么意思?在什么之外?
-
不,按钮在 React 组件之外。我正在尝试将组件添加到现有的 HTML/js 页面。
-
我认为你最好能设置一个异步任务来轮询你的状态变化。例如,让您保持登录状态的应用程序通常会对授权服务的计时器进行“刷新”调用,以保持您的登录会话处于活动状态。对用户来说,只要浏览器打开,他们的会话就会保持活动状态。如果您用“HTML 代码执行的某些操作 id”来描述您的意思,如果您不是真的指“按钮单击”,您会得到更好的答案。否则请参阅重复链接。
-
“外部”是指“在 React 组件之外”。
标签: javascript reactjs