我是 React Redux 的新手。你能告诉我如何手动编写下面的saveUserFilter函数吗?我不想再使用redux-persist-transform-filter 了,因为它使用了 lodash.set,而 lodash.set 容易受到原型污染。
const saveUserFilter = createFilter('user', [
'username',
'displayName',
'timeZone',
])
const persistConfig = {
key: KEY,
storage,
whitelist: [
'user',
'timeZones',
],
transforms: [ saveUserFilter ],
}
很高兴见到你!我知道你对
lodash.set
使用哪个redux-persist-transform-filter
容易受到原型污染的看法,尤其是考虑到对象分配使用 Object.create() 的情况。但不要担心,因为有一种简单的方法可以帮助你在保存用户过滤器时摆脱这种方法,方法是利用以下内容。首先,让我们定义
saveUserFilter
函数。此函数将手动过滤状态user
以仅包含您需要的属性:username
、displayName
和timeZone
。您可以按照以下方式操作:
解释:
redux-persist
我们使用createTransform
来定义自定义变换。username
、displayName
、 ) 。timeZone
user
user
reducer,以便此转换仅应用于它。有关使用创建转换的更多详细信息
redux-persist
,您可以查看官方文档。如果您还有其他问题或需要进一步帮助,请随时联系我们。祝您的项目顺利!