在使用React-Spectrum的TextField组件中,如果要使用refs来获取输入框中的值,可能会出现以下错误:
TypeError: Cannot read property 'value' of null
这是因为React-Spectrum使用React Ref API重新实现了TextField组件,而通过refs获取值时需要使用React Ref API提供的current属性。因此,我们需要将refs的引用方式从this.refs改为React.createRef(),并使用this.inputRef.current.value来获取输入框中的值。
以下是修改后的代码示例:
import React from 'react'; import { TextField } from '@react-spectrum/textfield';
class MyComponent extends React.Component { constructor(props) { super(props); this.inputRef = React.createRef(); }
handleInput() { const inputValue = this.inputRef.current.value; console.log(inputValue); }
render() {
return
这样就可以正确地获取输入框中的值了。