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])
时,它会给我一个未定义的
。