反应:有助于理解特定的日常用例

问题描述 投票:0回答:1
  <Select 
    onChange={evt => myFunction('KEY', ['ARRAY', 'OF', 'VALUES'])(evt)}

...

 const myFunction = (key, funValues) => {

      return (evt: React.ChangeEvent<HTMLSelectElement>) => {

        const { values } = evt.target;
         if (funValues.find( some condition) ){
           callAPI(key, funValues);
         }
         else{
           callAPI(key, values);
        }
      };
    };

我原本会写成

 onChange={evt => myFunction('KEY', ['ARRAY', 'OF', 'VALUES'], evt)}

我真的不明白在这里应用curring的逻辑是什么,以及它将如何产生a)这个操作更好和/或b)为更广泛的利益做出贡献

也许这对上下文有帮助,但是在整个代码库中都调用了myFunction。有时是通过evt,有时是手动。

reactjs currying
1个回答
1
投票

创建一个咖喱函数(我想)是对避免在回调处理程序中使用箭头函数的误解。为了避免这种误解,有人将此功能定义为咖喱函数,并使用例如:

© www.soinside.com 2019 - 2024. All rights reserved.