[Ramda] Rewrite if..else with Ramda ifElse
2024-10-01 19:44:52
From:
const onSeachClick = (searchTerm) => {
if(searchTerm !== '') {
searchForMovies(searchTerm)
} else {
console.log('a search term should be provided')
}
}
To:
// Utils const inNotEmpty = R.compose(
R.not,
R.isEmpty
); const onSearchClick = () => {
R.ifElse(
isNotEmpty, // logic to check
searchForMovices, // do it if true
log('a search term should be provided') // do it if false
)
}
Example2:
/*
Example2:
*/
function processSearchResponse(response) {
// check total_results prop from response,
// it shuold greater than 0
const searchHasResult = R.compose(
R.lt(),
R.prop('total_results')
);
// get results props from response,
// then createMoviesElements called
const createElementFromResults = R.compose(
createMovicesElements,
R.prop('results')
);
//always return empty
const createArrayWithNotFound = R.always([
createMoviceNotFoundElement({})
]); const elements = R.ifElse(
searchHasResult,
createElementFromResults,
createArrayWithNotFound
)(response);
}
最新文章
- 原生JS实战:经典贪吃蛇(开局10倍速度,来看看你最高能得多少分!)
- Filter过滤的2种方式
- 使用友盟进行apk的自动更新
- Xamarin.Android开发实践(十五)
- 《RedHatlinux系统修复(通过FTP进行修复)》
- 实现在线阅读pdf功能--php
- IOS 与ANDROID框架及应用开发模式对照一
- 关于echarts的一些基本使用demo
- 【BZOJ1003】物流运输(动态规划,最短路)
- 2017-2018-1 我爱学Java 第二周 作业
- 码云代码托管平台与TortoiseSVN的使用
- luogu 2154 离散化+杨辉三角+树状数组
- js 中prototype运用(数组)
- 【C/C++】实现数据结构广义表
- Laravel 自定义分页、可以调整、显示数目
- linux提取指定列字符并打印所有内容(awk)
- 假期小结 BIO, NIO, AIO
- SpringMVC源码分析(3)DispatcherServlet的请求处理流程
- flutter 监控返回键
- (GoRails) 如何去掉form输入框头尾的空格;何时用callbacks,gem;