我想像这样创建一个代理。正如文档似乎暗示的那样,我使用了Reflect.set。
function createStore<T>(reducer: Reducer<T>, initialState: T) {
const store = new Proxy(initialState, {
set(target, key, value) {
console.log('Trap has been activated');
return Reflect.set(target, key, value);
}
});
}
现在当我设置一个字段时,它确实有效地触发了这个陷阱。但是,我想在设置值后触发此陷阱。我尝试了这个,希望Reflect.set返回我的下一个状态:
const nextState = Reflect.set(target, key, value);
// my code here
return nextState;
相反,它返回一个布尔值。
有没有办法在返回值之前获取代理的“下一个值”?
隔江千里
相关分类