reactjs - Ref 动态反应
问题描述
假设我有一些 useRef:
const mango = useRef();
const grape = useRef();
const potato = useRef();
还有一些数据:
{
mango: 'yellow',
grape: 'purple',
potato: 'pc'
}
我遍历数据,由于我的数据键与 useRef const 相同,所以我想将数据的值分配给 useRef,例如:
key.current.value = data[i]
但是由于 key.current.value 实际上不是 useRef,所以它不起作用。useState 可能有效,但我需要一个 useRef 解决方案,因为我必须使用 useRef 获取和设置输入字段的值。
解决方案
如果我在这里为你翻译...
请记住,ref
元素上的 s 也可以是函数。也就是说,你可以做
function Component() {
const inputRefs = React.useRef({});
return (
<div>
<input ref={i => inputRefs.current.foo = i} />
<input ref={i => inputRefs.current.bar = i} />
<input ref={i => inputRefs.current.quux = i} />
</div>
);
}
inputRefs
使用对这些 HTML 元素的引用填充对象(或null
在它们被卸载时)。
推荐阅读
- javascript - SyntaxError:预期的表达式,在字符 2 处得到 '}'
- python - Tkinter 中的 'root.mainloop()' 导致 AttributeError
- typescript - 打字稿:“数字”类型的参数不可分配给“字符串”类型的参数
- php - PHP-Websocket:socket_recv() 和 socket_getpeername() 的问题
- eclipse - 无法在 Eclipse Photon / Eclipse IDE 中安装 Glassfish 工具
- java - While 循环出现 NoSuchElementException 错误
- python - 如果您要求整数并且没有得到整数,是否有例外?
- android - 在 Android 中从 Fragment 打开 Activity
- dart - 谁能给我一个想法,将会话超时重定向到颤振的登录屏幕?
- flutter - 尽管 SingleChildScrollView 出现 Flutter 溢出异常