javascript - ramda:根据对象的当前状态设置对象
问题描述
我想要一个可以设置位置对象的管道。假设位置对象看起来如下开始:
{
pathname: '/users',
search: 'sort=desc&sortBy=name',
hash: '',
state: {},
}
在管道的第一步,我想将state.redirect
this 设置为当前对象,但不state
包含。例如,
{
pathname: '/users',
search: 'sort=desc&sortBy=name',
hash: '',
state: {
redirect: {
pathname: '/users',
search: 'sort=desc&sortBy=name',
hash: '',
}
}
}
我从以下开始,但它并没有真正起作用。
set(lensProp('state'), /* ??? */)
在 ramda 中执行此操作的适当方法是什么?
解决方案
这应该这样做:
const loc = {
pathname: '/users',
search: 'sort=desc&sortBy=name',
hash: '',
state: {},
}
console.log(R.dissoc('state', loc))
<script src="//cdnjs.cloudflare.com/ajax/libs/ramda/0.25.0/ramda.js"></script>
我应该使用Ramda 的什么功能?可能有助于找到这样的功能。
推荐阅读
- c++ - 在 C++ 中的另一个函数中使用函数的参数?
- reactjs - 如何在 react-countdown 中调用 onStart 函数?
- ubuntu - 类型错误:gulp.run 不是函数
- mysql - Mysql将所有表复制到具有不同名称的同一个数据库中,例如(tablename_log)
- android - 运动布局不为不是其直接子级的视图设置动画
- sql - 在 SQL Server 中添加多个筛选条件
- c# - 使用 Excel 数据阅读器
- cassandra - Cassandra:根据集合中的值进行查询时出错
- java - 如何在 Android Q 中使用 DocumentFile 删除文件?
- android - 如何获取低于 API 28 的特定流的最小音量?