• [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);
     }  
  • 相关阅读:
    测试策略(1)
    css在网页中的一些重要运用
    拖拽禁止点击事件
    js入门的心结
    响应式布局
    web中的兼容性
    css中的bfc和ifc
    css格式化的基本运用
    css基础知识
    html中输入控件的元素
  • 原文地址:https://www.cnblogs.com/Answer1215/p/6464196.html
Copyright © 2020-2023  润新知