gpt4 book ai didi

javascript - 为什么 Redux 将我的正则表达式值保存为对象类型

转载 作者:行者123 更新时间:2023-11-30 13:47:32 26 4
gpt4 key购买 nike

<分区>

我遇到了最奇怪的行为。我使用一种形式的屏蔽输入:react-text-mask。如何定义屏蔽输入的快速示例:

<MaskedInput
mask={['(', /[1-9]/, /\d/, /\d/, ')', ' ', /\d/, /\d/, /\d/, '-', /\d/, /\d/, /\d/, /\d/]}
className="form-control"
placeholder="Enter a phone number"
guide={false}
id="my-input-id"
onBlur={() => {}}
onChange={() => {}}
/>

出于多种原因,我将我的定义保存在 Redux 状态中。并这样使用输入:

<MaskedInput
placeholder={placeholder} // comes from Redux state
mask={mask} // comes from Redux state
className="form-control"
value={value} // comes from Redux state
onChange={(e) => handleChange(id, e.target.value)} // triggers action that saves value to Redux
/>

问题出在我将掩码保存在 Redux 中。执行如下:

  1. 我在状态中注册表单元素。该操作带来正确的格式:["(",/[0-9]/,/\d/, ")", "",/\d/,/\d/,/\d/,/\d/, "-",/\d/,/\d/,/\d/,/\d/]
  2. 我展开以检查 Redux 存储的内容,它已被修改,但没有我的输入:\ enter image description here

  3. 我的输入是这样中断的: enter image description here

所以在我看来,redux 执行了某种数据规范化和更新,并存储了正则表达式值。

你能告诉我为什么会这样吗?如果它是一个特性,而不是一个错误 :D 我会重新考虑将我的 Regex 存储在 Redux 中。

提前致谢!

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com