Javascript 获取类型错误:无法执行';获取';在已被撤销的代理上Redux toolkit
我试图从本地sqlite数据库中检索数据,并用某些值填充redux状态,我的reducer如下Javascript 获取类型错误:无法执行';获取';在已被撤销的代理上Redux toolkit,javascript,redux,redux-toolkit,Javascript,Redux,Redux Toolkit,我试图从本地sqlite数据库中检索数据,并用某些值填充redux状态,我的reducer如下 getItems: (state) => { try { useKnex .select() .table("itemTable") .then(async (data: any) => { state.push({ ite
getItems: (state) => {
try {
useKnex
.select()
.table("itemTable")
.then(async (data: any) => {
state.push({
itemId: parseFloat(data.itemId),
itemCode: data.itemCode,
itemDescription: data.itemDescription,
itemSellingPrice: parseFloat(data.itemSellingPrice),
itemType: data.itemType,
createdAt: data.createdAt,
updatedAt: data.updatedAt,
});
console.log(data);
})
.catch((err) => {
console.error(`Error: ${err}`);
});
} catch (err) {
console.log(err);
}
}
在我的内容页面上,我使用UseImpacted获取用于测试目的的数据:
useEffect(() => {
dispatch(queryItemsAction());
});
但当我运行我得到的一切时:
Error: TypeError: Cannot perform 'get' on a proxy that has been revoked
在redux中,通常情况下,reducer中不能有任何副作用-这里发生的情况是,您正在触发一个副作用,该副作用正在运行,稍后将尝试在redux之外写入存储(这违反了redux的另一条规则)
如果您有这样的副作用,则需要在中间件中处理。通常,thunks用于此-请阅读