问题标签 [use-ref]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - 在功能组件中使用 react-google-maps 获取地图属性?
我正在尝试访问地图的当前缩放或中心,但我遇到了一些错误。我是 React 新手,我不确定自己在做什么,但我尝试将 ref 附加到 GoogleMap 组件
我收到一个错误消息:无法读取 null 的属性“getZoom”,并警告无法为函数组件提供参考。我该如何解决这个问题?谢谢!
reactjs - 如何在 React Hooks 中单击父级按钮时将焦点设置在子组件的输入上
我有一个父组件,它有一个带有 onClick 事件的按钮,当出现错误时,我想关注子组件中的输入。我知道这可以使用 useRef 来完成,但我不断收到未定义的错误。这是我的代码:
react-hooks - 当其中包含“document.addEventListener”时,如何测试 useEffect React 挂钩?
这是我的useEffect
电话:
我正在使用它来控制弹出菜单。当您单击菜单图标以调出菜单时,它将打开它。当您单击不是弹出窗口的任何位置时,它会关闭弹出窗口。或者当组件被清理时,它也会关闭弹出窗口。
我@testing-library/react-hooks
用来渲染钩子:
https://github.com/testing-library/react-hooks-testing-library
我们也在使用 TypeScript,所以如果有任何 TS 特定的东西也会很有帮助。
希望这是足够的信息。如果不让我知道。
编辑:
我正在使用两个伴侣钩子。我在其中做了很多工作,我希望能简化问题,但这里是钩子的完整代码。渲染 PopoutMenu 组件时调用顶部挂钩 (useWithPopoutMenu)。底部的在 PopoutMenu 组件的主体内调用。
这是组件:
用法是这样的:
javascript - React useState 由于 useRef 而没有更新
我的反应代码遇到了一个非常奇怪的问题:useState 没有更新视图,并且在尝试了所有操作之后,问题仍然存在。我做了一个简单的代码来解释这个问题:
一些解释:我正在使用 UseEffect 和 useRef 创建一个下拉菜单,当您在容器外单击时它会消失。现在,当我想单击此下拉菜单的值时,它不会更新 DOM,而我正在使用 useState 更新负责更改的字符串的值。
提前谢谢你,查贝尔
javascript - 使用 useeffect 和 useref TypeError 时出错:无法读取 null 的属性“getBoundingClientRect”
您好,我在使用 useref 时遇到问题,我的应用程序不断从我不再使用的页面中读取代码
我有此代码,但是当我使用此代码更改为联系页面时
然后当我尝试在新页面上滚动时,我得到了这个错误代码
即使我现在在新页面上,事件监听器仍在监听。刷新页面后,该错误不会影响我现在和将来如何防止这种情况发生?
reactjs - 如何将缺少的依赖项添加到仅运行一次的 useEffect 挂钩?
React Hook useEffect 缺少依赖项:'myDate' 和 'setMyDate'。要么包含它们,要么删除依赖数组。
如何将缺少的依赖项添加到useEffect
仅运行一次的依赖项中?以下示例生成上述警告:
如果我包含它们,我会创建一个无限循环,因为setTimeout
依赖项的值会发生变化:
如果我删除依赖数组,则useEffect
在每个渲染上运行,并设置无限数量的 setInterval:
我也尝试useEffect
完全删除,认为既然spinner
是 a useRef
,它不会在每个组件渲染上重新分配......但没有:
还尝试使用功能更新方法,像这样,但 lint 错误仍然存在并且代码不起作用:
我被卡住了……夹在岩石和坚硬的地方之间!如何解决此 lint 警告?
javascript - 反应:使div的宽度等于高度。高度计算不正确
基于我看到的其他解决方案,我创建了一个组件,该组件应该计算其子项的宽度和高度,然后将宽度和高度设置为等于其中较长者的长度.
- 前任。如果width=30,height=20,那么width和height应该设置为30。如果height是30,width是20,结果应该是一样的。
这是我尝试使用此组件的示例。(样式是使用引导程序完成的)
此示例产生以下结果。它计算的高度不正确,并决定宽度是较长的维度。然后将宽度和高度设置为等于宽度,这就是为什么一些孩子出现在圆圈之外的原因。
javascript - 这是检测反应组件中第一次渲染的正确方法
我有一个场景,我需要检测组件的第一次渲染。这里我建立了一个小例子。有人可以向我解释正确的方法是什么吗?
为什么大多数人建议使用 aref
而不是普通状态。
https://codesandbox.io/s/condescending-burnell-0ex3x?file=/src/App.js
reactjs - 带有 nextjs 的 G2Plot。堆积图不起作用
我想使用 G2plot 创建一个堆叠图。因此,我必须为组件创建 2 个文件。另一个用于将使用动态 I 调用组件的页面
将动态导入的文件
PS。我正在使用 nextjs 10 这是我预期行为的代码框 https://codesandbox.io/s/optimistic-banach-up3i0?file=/index.js