我使用以下函数通过将一些数据包装在高阶组件中来将一些数据发送到 React 组件:
import { equals, filter, isNil, prop, where } from 'ramda'
const example = getChapter => ownProps =>
filter(
where({
sectionId: equals(prop('section', ownProps)),
subsectionId: isNil,
sub2sectionId: isNil,
sub3sectionId: isNil
}),
prop('getContents', getChapter)
)
我熟悉函数式编程的概念,但对 Ramda 库还是比较陌生。现在我想用 Ramda 重写这段代码,这样ownProps
就getChapter
可以被淘汰了,如果只是作为一个学术练习的话。
ownProps
由于参数的顺序,我似乎应该首先消除?虽然我什至不确定。
任何帮助将不胜感激!
PS。我知道在上面的代码中,在其他条件不变的ownProps.section
情况下,上面的代码更具可读性和更可取prop('section', ownProps)
,但我希望该prop
函数位于通向上面代码的无点等效项的路径上,因此包含它们。