2017-08-08 111 views
0

我不得不编写一个函数初始化至极应一个类名相对得到对齐财产,这个类名设置为parentNode。但我收到一个函数,而不是parentNode。请帮助R.prop(“parentNode”,R .__)返回一个函数

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>

回答

0

我刚刚更换R.callR.converge。所以,它现在工作)