打字稿编写使用不可变帮助程序更新的函数

时间:2019-05-20 05:38:43

标签: typescript redux immutable.js typescript3.0

我在Redux上使用immutability-helper来更新我的React Native应用程序中的状态:

(state: Spec<UserState>, { payload }: { payload: {x: any} }) =>
update(state, { x: data:{ $set: x }, meta: { loading: { $set:false } } })

它可以工作,但是我一直在使用类似的模式(获取有效负载的特定键,使用对象更新state.thatKey.data,将state.thatKey.meta.loading更新为false。我想封装此调用以最简单的方式,这样我可以这样称呼:myMethod({$set: x}),在幕后它将返回一个HOF,它调用不可变性的update并接受状态,从有效负载中提取x(是在API调用reducer的外部提供的),并像上面显示的那样设置data的{​​{1}}和meta,都是以强类型方式进行的(因此,没有{{1} } s。

坚信这是可能的,但是我对Immutability和Typescript还是陌生的,我在编写此类功能时遇到了麻烦。

我尝试了许多尝试检查state.x签名的方法,而最近的电话是:

any

尽管我无法正常工作。我该怎么办?

0 个答案:

没有答案