我正在使用hookstate.js库,并试图做一些简单的事情,比如从State对象中获取整个Javascript对象,而不必引用对象的键。
例如,state.set({first:'John',last:'Doe'})
,然后以某种方式访问整个对象(作为真正的JS对象,而不是State(,而不必知道对象密钥和引用state.first.get()
这么简单的事情难道没有现成的方法吗?
我可以减少:
const { keys } = state
const jsObject= keys.reduce((pre, cur) => {
const stateVal = state[cur].get()
return { ...pre, [cur]: stateVal }
}, {})
但是,如果我期望嵌套对象,这是不可能的。
此处为Hookstate的作者。您可以在状态的根上调用State.get()
,并为get方法使用noproxy
和stealth
选项(自Hookstate 4版本以来(。它会满足你的要求。
您是否尝试在对象的根上调用get()
?类似state.get()