javascript - 错误:在 formik 上使用反应输入掩码时超出了最大更新深度
问题描述
我正在尝试react-input-mask
与 formik 绑定。但是,我在第一次击键时遇到错误。这是我尝试使用它的方式。如果我删除 react-input-mask 那么代码就像一个普通的文本字段但是如果我使用输入掩码那么只有我得到“最大更新深度”错误。可能是什么原因?
const InputMaskField = ({
label,
field,
form,
prepend,
append,
innerAppend,
...rest
}) => {
const [active, setActive] = React.useState(false)
const hasError =
(get(form.touched, `${field.name}`) || get(form, 'submitCount') > 0) &&
get(form.errors, `${field.name}`)
return (
<InputWrapper>
<Label isActive={active}>{label}</Label>
<InputMask {...rest}>
{(inputProps) => {
return (
<>
<TextInputWrapper isActive={active}>
{prepend && <InputAddonItem prepend>{prepend}</InputAddonItem>}
<InputAddonField
isActive={active}
hasError={hasError}
prepend={!!prepend}
append={!!append}
{...field}
{...inputProps}
onBlur={(e) => {
setActive(false)
field.onBlur(e)
}}
onFocus={() => setActive(true)}
/>
{append && (
<InputAddonItem
isActive={active}
hasError={hasError}
{...field}
{...rest}
>
{append}
</InputAddonItem>
)}
{innerAppend && <InnerAppend>{innerAppend}</InnerAppend>}
</TextInputWrapper>
</>
)
}}
</InputMask>
{hasError && <Error>{hasError}</Error>}
</InputWrapper>
)
}
解决方案
推荐阅读
- arduino - 如何使用 nodemcu 将 hx711 数据发送到远程数据库服务器?
- javascript - 编译 Angular 6 项目时出现错误
- ios - 未定义符号:安装 firebase 库后出现 __isPlatformVersionAtLeast 错误
- javascript - 使用 jQuery.when 处理浏览器未发送的请求
- python - 如何分别绘制多个图?
- javascript - Javascript的map函数的代码中有一些我看不懂的地方
- javascript - 检测 JavaScript 类属性的变化?
- c - 使用 pthreads 和 OpenMp 在 C 中并行化 Simpson 方法
- jenkins-pipeline - 保存 Jenkins 管道中主动选择反应参数的上下文
- laravel - 我收到内部服务器错误“或”使用 Laravel Vapor 的端点请求超时