【发布时间】:2021-06-02 06:11:29
【问题描述】:
这是我的组件:
// parent component
const activeTextareaFieldRef = useRef(null);
return (
<GroupField textareaRef={activeField.id === id ? activeTextareaFieldRef : null} />
)
// group field component
<>
<DataResultValue ref={item.name === activeField.subFieldName ? textareaRef : null} />
</>
即使两个条件(在父项和子项中)都为真,引用有时也会丢失并设置为空。如何实现始终让 ref 不等于 null?我修复了所有可能的问题,并且我 100% 确定条件是正确的
【问题讨论】:
-
Refs 只有在组件被挂载后才会被激活,所以你是否使用任何
useEffect钩子来检查这个? -
出于这个原因,您可能不应该有条件地分配 React refs。提前生成您需要的所有参考。
-
@Keith,是的,我正在使用这种 useEffect
-
@DrewReese,例如我有 400 个元素,你的意思是我应该生成 400 个引用吗?
-
@DrewReese,你将如何使用普通道具来做到这一点,在我的代码中我需要专注于 textarea 而没有参考我无法做到这一点
标签: javascript reactjs react-hooks react-ref