Javascript 获得快速记忆的结果

Javascript 获得快速记忆的结果,javascript,reactjs,redux,Javascript,Reactjs,Redux,我使用的是不可变JS和React。 目前,我正在记忆这样一个变量 function stateToProps(state) { const memoMe = memoize(state.getIn(...); console.log(memoMe); return { headline: state.getIn(...), memoMe: memoMe, }; } 然而,memoMe的日志给了我这个信息 ƒ monadic (fn

我使用的是
不可变JS
React
。 目前,我正在记忆这样一个变量

function stateToProps(state) {
    const memoMe = memoize(state.getIn(...);
    console.log(memoMe);
    return {
        headline: state.getIn(...),
        memoMe: memoMe,
    };
}
然而,
memoMe
的日志给了我这个信息

ƒ monadic (fn, cache, serializer, arg) {
  var cacheKey = isPrimitive(arg) ? arg : serializer(arg)

  var computedValue = cache.get(cacheKey)
  if (typeof computedValue === 'undefined') {
    computedV…

如何访问存储的对象?

库将函数作为参数,而不是值。它返回一个新函数,如果将相同的参数传递给该函数,则该函数将返回缓存的值。所以你会这样做

function stateToProps(state) {
    const memoizeFn = memoize(state.getIn);
    //memoizeFn is a function which will return cached result if arguments are repeated

    return {
        //first call to memoizeFn, memoizeFn will compute result using state.getIn
        headline: memoizeFn([a,b]),
        //second call with same arguments, memoizeFn will return cached results
        memoMe: memoizeFn([a, b]),
    };
}

啊,让我们假设
const memoizeFn=memoize(state.getIn(['a',b']).toJS()
,然后我简单地用与前面相同的参数调用函数,所以
返回{headline:memoizeFn(state.getIn(['a',b']),}
?@stopface
状态。getIn(['a','b'])
是值,不是函数对吗?您必须将一个函数传递给
memoize
。请参阅更新的comments.Hm,当我尝试访问
memoMe:memoizeFn([a,b])
时,它会给我一个
未定义的