Redux能否实现像vuex一样的getters?

#1

vuex里面有getters,类似于vuex的computed,目前看redux里面并没有实现这一块,请问有什么办法实现一个功能,目前我有一个思路 是在 调用connect函数 mapStateToProps时候,使用 Proxy进行拦截,但是发现这种办法似乎会有问题。不知道是我写的问题还是什么情况?或者不应该放在mapStateToProps而是在reducer 的时候?

#2

数据的筛选写在哪里不可以?一定要写在getters里?你是养成习惯了

#3

这个自然是知道写哪里都可以,也主要是为了方便维护啊。。。

#4

用hooks试试, 可以吧要计算的都弄到hooks里面去

const ctx = React.createContext
cont ComputedValueProvider = connect((state)=> state)(function Provider({a, b, children }){
   const value = React.useMemo(()=> a + b , [a, b]);
   return <ctx.Provider value={value}>{children}</ctx.Provider>
})
const ValueConsumer = ()=> {
    const value = React.useContext(ctx);
    return <div>value is {value}</div>
}
#5

之前写的基本都是用class写的,之后可以考虑用hooks。