第一个字符未显示在输入字段 useForms 中

First Character is not displaying in input field useForms

当我点击“提交”时,出现错误“required”。但是当我输入文本时,它不会占用第一个字符。输入第一个字符时,它只会删除“必需”消息。 你能告诉我为什么它不显示第一个字符吗?

<div className="input-field">
    <label htmlFor="state">State</label>
       <input
       placeholder="State"
       name="state"
       autoComplete="off"
       type="text" 
       value={state}
       onChange = { e => setState(e.target.value)}
       ref={register({required:'required'})}  
       />
       <span className="error">{errors.state && errors.state.message}</span>
</div>

这可能与将 react-hook-form 与您的自定义控制逻辑(valueonChange)一起使用有关。

如果您不需要控制输入,我建议从输入中删除 valueonChange 属性,因为它们似乎与包冲突。

很有可能,因为setState是一个异步方法。尝试在 onChange 函数和 await this.setState() 上添加 async。它应该捕获所有输入字符。