实体适配器支持使用“updateOne”方法调用更新集合。但是,当更新值的键不存在时,这会导致特定实体未被更新。请参阅代码示例。
然而,实体适配器Object.assign()在内部使用which while 是好的并不总是我想要的。我希望它基本上取代有问题的实体。
此外,如果所讨论的对象具有结构 A(见下文)。然后发生了一些任意数据库操作并将更新后的 JSON 返回给前端。reducer 最终会以表单的形式获取这些信息。
const originalValue: MyClass = new MyClass('value 1', 'value 2');
const updatedValueFromServer: MyClass = new MyClass('updated');
Run Code Online (Sandbox Code Playgroud)
Then internally to the entity adapter it looks like
const updateValue = Object.assign(originalValue, updatedValueFromServer);
// which would result in ...
// { key1: 'updated', key2: 'value 2' }
// while I would like
// { key1: 'updated' }
// Or
// { key1: 'updated', key2: null }
Run Code Online (Sandbox Code Playgroud)
case ActionTypes.UPDATE_SUCCESS:
return collectionAdapter.updateOne({
changes: action.payload.alertSubscription,
id: …Run Code Online (Sandbox Code Playgroud) 因此,我使用此正则表达式来验证我为实习设计的网站上的一些文本框。
问题在于我不太热衷于正则表达式,而且我即将找到一个能匹配0-24至不超过两个小数位的数字的有效表达式。
到目前为止,这就是我所拥有的。该模式也匹配任何字符串。例如"a"或"az"。
var pattern = "^([0-9]{0,2}?.?[0-9]{0,2}|1[0-9].?[0-9]{0,2}|2[0-4].?[0-9]{0,2})$";
Run Code Online (Sandbox Code Playgroud)