我正试图关注表单内部的错误字段,我正在使用ref来做到这一点,但不知何故,ref总是返回null,我得到了错误,我想使用/传递这个ref来关注错误字段,这里的错误存储在我没有包含在代码中的状态中
这是的基本代码
class Form extends Component {
constructor(props) {
super(props);
this.textInput = React.createRef();
this.getErrors = this.getErrors.bind(this);
}
componentWillUnmount() {
/////
}
renderSubmitAction() {
if(errors) {
this.textInput.current.focus();
}
}
render() {
return (
<View key={propertyName}>
<FormInput
id={id_prefix + propertyName}
key={propertyName}
ref={this.textInput}
/>
</View>
)
const submitButton = this.renderSubmitAction();
return (
<View key={this.state.submitId} style={props.style}>
{children}
{props.children}
{submitButton}
</View>
);
}
问题
你正在运行这个:
this.textInput.current.focus();
在此之前:
<FormInput
id={id_prefix + propertyName}
key={propertyName}
ref={this.textInput}
/>
解决方案
我不确定这应该做什么:
const submitButton = this.renderSubmitAction();
但你可能想使用这个:
const submitButton = this.renderSubmitAction;