[Ramda] Rewrite if..else with Ramda ifElse
Posted Answer1215
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Ramda] Rewrite if..else with Ramda ifElse相关的知识,希望对你有一定的参考价值。
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(0), 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); }
以上是关于[Ramda] Rewrite if..else with Ramda ifElse的主要内容,如果未能解决你的问题,请参考以下文章
[Ramda] Sort, SortBy, SortWith in Ramda
[Ramda] Change Object Properties with Ramda Lenses
[Ramda] Declaratively Map Predicates to Object Properties Using Ramda where
[Ramda] Convert Object Methods into Composable Functions with Ramda