开发者问题收集

在 React 中无法设置 null 属性

2021-11-03
2946

我有两个元素,它们应该根据条件是真还是假而出现,但在其中一个元素上我需要使用 useRef 钩子,但它不起作用。即使元素有时先呈现,我仍然会收到错误 无法设置 null 的属性 。我需要在第二个元素使用其引用呈现时编辑它的值,但代码崩溃了,所以我什么也做不了。代码如下所示:

inputRef.current.value="Some text"
{condition ? <SomeOtherComponent /> : <input type="text" ref={inputRef} />}
1个回答

您有几种方法可以解决这个问题

  1. 删除输入上的 ref 并直接通过 value={'Some text'> 设置值。
  2. 渲染输入并保留 ref,但根据条件通过 css 隐藏输入。
  3. 根据条件创建带有侦听器的 useEffect,当 条件为假时设置 current.value
quippe
2021-11-03