我有一个函数,看起来像这样:
export const maybeDate = R.unless(R.isNil, R.constructN(1, Date));Typescript在这方面从来没有给我带来困难,但是当我通过Jest运行它的时候,我得到了这条消息,关于哪里出了问题却没有反馈:
TypeError: R.unless is not a function当我将它更改为以下代码时,它就会停止给我带来问题:
export const maybeDate = () => R.unless(R.isNil, R.constructN(1, Date));然而,我的应用程序本身停止工作。
回到ramda的github,有人建议我这样做
export const maybeDate = (v) => R.unless(R.isNil, R.constructN(1, Date))(v);但这感觉更像是一种变通方法(就像我的糟糕的非工作解决方案一样),而不是解决方案。
解决这个问题的最好方法是什么?
目前我只安装了以下内容:
"ramda":"^0.27.1“
发布于 2021-06-25 00:00:33
如您所见,Ramda 0.27.1具有unless方法。
const isEven = (n) => n % 2 === 0;
const shoutOdds = R.unless(isEven, console.log.bind(null, 'this "%s" looks odd'));
shoutOdds(5);
shoutOdds(10); // not called
shoutOdds(7);<script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.27.1/ramda.js" integrity="sha512-3sdB9mAxNh2MIo6YkY05uY1qjkywAlDfCf5u1cSotv6k9CZUSyHVf4BJSpTYgla+YHLaHG8LUpqV7MHctlYzlw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
如果您使用es模块,请确保以以下方式导入ramda的名称空间:import * as R from 'ramda'
https://stackoverflow.com/questions/68118686
复制相似问题