问题标签 [react-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.

0 投票
0 回答
479 浏览

javascript - 我正在尝试使用 ref 在反应中访问模态(mui 模态)内的元素,但对元素的引用为空

我试图在组件中访问确实挂载生命周期方法,但它显示为空。如果我删除模态,它会按预期工作,但模态引用内部不能正常工作。谢谢。我试过关注,但它总是显示为空。

0 投票
2 回答
1908 浏览

reactjs - 在创建动态生成的组件时反应 createRef 返回 current = null

我有一个 React 组件,它接收一个具有动态生成一些子组件的属性的对象。在生成这些新组件时,我需要为每个组件创建一个 ref,但React.createRef()返回currentnull.

这是我所做的:

那么这是主要的组成部分:

然后,当我尝试访问refs它时,它会返回:

我需要这些参考来window.scrollTo在某些情况下做出决定。根据 React 官方文档,我没有做任何奇怪的事情。我也尝试过React.useRef(),但没有。

这是我如何达到这个参考:

我该如何解决这个问题?我在这里想念什么?

0 投票
2 回答
2531 浏览

reactjs - 带有 CSSTransition 组件的 findDOMNode 警告

“反应”:“^16.13.1” “反应过渡组”:“^4.3.0”

大家好。

我遇到了 findDOMNode 警告,在互联网上找不到正确的解决方案。

index.js:1 警告:在 StrictMode 中不推荐使用 findDOMNode。findDOMNode 被传递了一个在 StrictMode 内的 Transition 实例...

我从此处的文档中复制的此示例并单击按钮时,会出现相同的错误。

来自互联网的解决方案建议尝试 createRef (我使用了 usePef 钩子),但使用转换,它不起作用。

似乎 React.StrictMode 会抛出这样的警告,直到该库的补丁被合并,但我仍然没有看到创建的问题

对于如何解决问题的任何帮助或建议,我将不胜感激

0 投票
1 回答
490 浏览

reactjs - 引用 FieldArray 中的字段值以更改类名

我有一个显示人员表单(redux-form)的 React 组件(最初由其他人编写)。最近,我将组件更改为 FieldArray(redux-form 的组件)。

我对影响电子邮件字段的类名的电子邮件字段进行了验证(电子邮件格式不正确时为红色,否则为黑色)。当它不是 FieldArray 时它工作得很好,但现在它一次验证所有电子邮件字段,因为

,即 props.parent.email 是一个全局/静态参考。
例:有两个人。其中一封电子邮件格式不正确,但两封电子邮件均显示为红色。

据我了解,我需要一个动态参考,但这并没有像我尝试的那样工作。

错误是

“函数组件不能有引用。你的意思是使用 React.forwardRef() 吗?”

除了它是一个有效的道具这一事实之外,我没有发现关于 FieldArray 的 forwardRef 有任何帮助。

我的目标是:当用户创建和/或从 Redux 商店加载多个人员时,能够将每封正确格式的电子邮件显示为黑色,并将每封格式不正确的电子邮件显示为红色。

任何帮助是极大的赞赏!

0 投票
3 回答
491 浏览

reactjs - 在 Popover 中引用 null

我正在尝试在打开弹出框时自动聚焦输入元素。这是它的沙箱:https ://codesandbox.io/s/green-bash-x6bj4?file=/src/App.js

这里的问题是当前属性在 ref 上始终为 null。这是 forwardRef 可能有帮助的情况吗?我不太了解它,所以发布它。

任何帮助深表感谢。

0 投票
0 回答
518 浏览

reactjs - index.js:1 警告 findDOMNode

我尝试import { Button, Form, Input } from 'formik-semantic-ui'; 在组件注册中使用,但收到此警告:

Warning: findDOMNode中已弃用StrictModefindDOMNode传递了一个实例,RefFindNode该实例位于 inside StrictMode。相反,直接将 ref 添加到要引用的元素。

这是代码:

0 投票
1 回答
4115 浏览

reactjs - 如何将父组件的react hook创建的引用传递给子组件?

我的代码:

如上面的代码所示,我使用 useRef 钩子创建了一个引用并将其附加到我的 ParentComponent。现在我通过目标道具传递给 ChildComponent 并使用它在孩子内部进行一些 dom 操作。

问题:对于组件的第一次渲染, 我将ParentReference设为null。(如果我在更改 ParentReference 时强制重新渲染,它将更新并重新渲染整个组件,那么它将具有价值。)

如何在我的子组件中获取 ParentReference 以进行初始渲染?

0 投票
0 回答
100 浏览

reactjs - Ref 在 React 中奇怪地变成了 null

我正在尝试使用鼠标使组件可滑动。但是当释放鼠标时,对 DOM 元素之一的引用在执行过程中变为空,我不明白为什么。

我创建了一个沙箱来说明这个问题。(这不是完整的实现。只是试验问题所需要的)。

只需拖动元素并检查控制台。您会看到 ref 最初设置正确,但是当释放鼠标时,ref 消失了。

我不明白这是什么时候发生的以及为什么。

这是完整的 App.js 文件:

问题在这一部分内:

拖动时会得到:at last render, slidesRef was: <div ...> ,然后释放时:when calling stopDrag, slidesRef was: null

0 投票
2 回答
1437 浏览

reactjs - React / React Native:如何在功能组件中使用回调引用?

在这个库中:https ://github.com/wix/react-native-keyboard-aware-scrollview

从自述文件中引用的这两行代码(TextInput 组件的 Auto-Scrolling部分),父组件可以使用回调 ref 技术获取子组件的 ref 数组:

getTextInputRefs 是一个回调,您可以在其中返回一组对位于 scrollView 内的子 TextInput 组件的引用。

但是,据我了解,在功能组件中没有像this._textInputRef. 在父滚动视图和子输入是功能组件的情况下,我该如何做同样的事情?

没有必要以此为例,但使用它会很棒。

任何概念证明都值得赞赏。

0 投票
0 回答
31 浏览

javascript - 如何将 ref 从父元素传递给子元素

我正面临一个导致很多头痛的问题,但我无法解决它。我有一个在整个应用程序中使用的组件(总共大约 100 次),它的主要目标是根据子级(子级是返回子组件的函数)和有效负载(有效负载是对象,其中包含有关未来孩子的信息)

这里是renderElement

renderElement都可以返回 RFC 或 RCC。在里面GenericList我应该以某种方式管理它以传递ref给 RFC 或 RCC。实现该逻辑的代码部分是

我也尝试过实现 ref 转发,但在这种情况下,我应该为所有使用该逻辑的组件手动执行此操作。我想知道是否可以通过仅在GenericList组件内部进行更改来实现这一点。