为什么 CurrencyTextField return 中的 inputRef 错误 inputRef.current 为空?

Why inputRef in CurrencyTextField return the error inputRef.current is null?

我正试图在第一个 'CurrentTextField' 更改您的值后专注于第二个 'CurrentTextField', 但是 return 错误 'inputRef.current is null'

import React, {useRef } from 'react';
import CurrencyTextField from "@unicef/material-ui-currency-textfield";

export default function Clientes() {
   let refInput = useRef(null)

   return(
      <div>
         <CurrencyTextField 
          onChange={(e) => refInput.current.focus()}
         />

         <CurrencyTextField 
          inputRef={refInput}
         />
      </div>
   )
}

这看起来有点奇怪。我查看了 React 文档,看起来不错 useRef React。也许可以为我们提供有关图书馆的更多详细信息,因为也许与您的问题有关

更新 2

我再次检查发现它使用了 material-ui/core 中的 TextField 组件,它有一个 inputProps 属性,所以这会起作用

  <CurrencyTextField inputProps={{ref:refInput}} />

更新

我刚刚检查了 CurrencyTextField 源代码,它不处理 refs


由于您使用的是自定义组件 CurrencyTextField,您应该检查它是否处理引用,当使用普通 HTML 标签时,您将使用属性 ref

export default function Clientes() {
   let refInput = useRef(null)

   return(
      <div>
         <CurrencyTextField 
          onChange={(e) => refInput.current.focus()}
         />

         <-- normal input will work -->
         <input  
          ref={refInput}
         />
      </div>
   )
}

尝试像普通 HTML 标签那样做,看看它是否有效。