如何将正则表达式保存到 Redux
存储中?
例子:
我有一个保存在对象中的正则表达式:
const regexes = {
name: /^[a-zA-Z0-9_]*$/
}
将此对象保存到redux存储器后,正则表达式丢失(被解析为空对象)。
// Dispatch
dispatch(setRegexes(regexes))
// Redux Dev Tools:
{
name: {}
}
即使作为负载被接收到 reducer 中,正则表达式也是可以的:
// Reducer
case 'SET_REGEXES':
console.log(payload.regexes) // {name: /^[a-zA-Z0-9_]*$/}
return {...store, regexes: payload.regexes}
break;
这意味着有效载荷很可能被转换为JSON格式,并且正则表达式将会丢失。
这个问题是否有解决方法?或者技术上即使将正则表达式保存到JavaScript对象中也是有效的,我也不应该将正则表达式保存到redux中?
编辑:我想实现这样一种情况,即我不需要使用new RegExp(store.regexes.name)。我想将实际的正则表达式保存到store中,因为store是JavaScript对象。