第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

React Redux - 不變失敗:在調(diào)度內(nèi)檢測到狀態(tài)突變

React Redux - 不變失?。涸谡{(diào)度內(nèi)檢測到狀態(tài)突變

慕容森 2023-07-06 18:25:39
我收到此錯誤:Invariant failed: A state mutation was detected inside a dispatch并且似乎無法找到解決方案。我通過 API 獲取用戶支持票證并將其保存到某個狀態(tài)以顯示票證信息。這是我的代碼:const initialState: stateType = {    User: new User(),    SupportTickets: new SupportTickets()}const userSlice = createSlice({    name: "User",    initialState,    reducers: {        setUser: (state, {payload}) => {            state.User = payload        },        setSupportTickets: (state, {payload}) => {            state.SupportTickets.tickets = payload        }    }})export const {setUser, setSupportTickets} = userSlice.actionsexport const userSelector = (state: stateType) => state.Userexport const userSupportTicketsSelector = (state: stateType) => state.SupportTicketsexport function fetchSupportTickets(userId: string, token: string) {    return async (dispatch: AppDispatch) => {        return await fetch(API_URL, {            method: 'GET',            headers: {                Authorization: `Bearer ${token}`            }        }).then(response => {            if (!response.ok) { throw response }            return response.json()        }).then(json => {            dispatch(setSupportTickets(json))        }).catch(error => {            console.log('Failed to fetch support tickets', error);        })    }}interface stateType {    User: User    SupportTickets: SupportTickets}export class SupportTickets {    tickets: SupportTicket[] = []}export class SupportTicket {    id: number = 0    type: string = ""    subject: string = ""    priority: string = ""    status: string = ""    created_at: string = ""    updated_at: string = ""}我嘗試過改變/移動事物但沒有成功。任何幫助是極大的贊賞。提前致謝。
查看完整描述

1 回答

?
弒天下

TA貢獻(xiàn)1818條經(jīng)驗 獲得超8個贊

我看到了問題所在??雌饋砟趧?chuàng)建某種類來存儲數(shù)據(jù),并將它們置于 Redux 狀態(tài):


const initialState: stateType = {

? ? User: new User(),

? ? SupportTickets: new SupportTickets()

}

您永遠(yuǎn)不應(yīng)該將類實例或其他不可序列化的值放入 Redux 狀態(tài)。相反,您應(yīng)該使用純 JS 對象、數(shù)組和基元。

好消息是您正在使用 Redux Toolkit 的createSliceAPI,它可以讓您編寫“變異”更新邏輯,從而成為安全且正確的不可變更新。但是,您需要在我們的狀態(tài)中使用純 JS 對象才能正常工作。

查看完整回答
反對 回復(fù) 2023-07-06
  • 1 回答
  • 0 關(guān)注
  • 393 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號