我编写了一个函数 init ,它应该获取相对于 align 属性的className,并将此className设置为parentNode。但我收到一个函数而不是parentNode。请帮忙
const addClass = R.curry((className, el) => {
console.log(className) //=> String
console.log(el) //=> Function ???
R.forEach(
R.call(R.invoker(1, 'add'), R.__, el.classList),
R.split(', ', className)
)
})
const getAlignClassName = R.compose(
R.cond([
[R.equals('left'), R.always('video--align-left')],
[R.equals('right'), R.always('video--align-right')],
[R.T, R.always('video--align-center')]
]),
R.prop('align')
)
const init = R.call(
addClass,
getAlignClassName(R.__),
R.prop('parentNode', R.__)
//R.prop('parentNode') // this one also returns a function
)
const tmp = { align: 'left', parentNode: 'some parent node' }
console.log(init(tmp))

<script src="https://cdn.jsdelivr.net/ramda/latest/ramda.min.js"></script>
&#13;
答案 0 :(得分:0)
我刚刚将 R.call 替换为 R.converge 。所以,它现在正在运作)