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

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

將 React Context 恢復到默認狀態(tài)

將 React Context 恢復到默認狀態(tài)

牛魔王的故事 2021-11-04 15:24:31
我有一個 React Context 的默認狀態(tài),如下所示:export const defaultState: UsersState = {  isModalOpen: false,  isCancelRequest: false,  companyId: 0,  users: []};當它使用的模式被取消時,我想將狀態(tài)清除回默認值。這有效:    case RESET_STATE: {      return {        ...state,        isModalOpen: false,        isCancelRequest: false,        companyId: 0,        users: []      };    }但這不會:    case RESET_STATE: {      return {        state: defaultState      };    }當上下文第一次被實例化時,這就是用戶的樣子:users: Array[0]但是當我使用后者的簡化方法來重置狀態(tài)時,它看起來像這樣:users: Array  (empty)至少,這就是我在 React DevTools 中看到的。為什么設置state為defaultState不恢復users為Array[0]?
查看完整描述

2 回答

?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

這個


case RESET_STATE: {

      return {

        state: defaultState

      };

    }

應該:


case RESET_STATE: {

      return {

       ...defaultState

      };

    }

state在您的上下文中沒有調用對象


查看完整回答
反對 回復 2021-11-04
?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

使用defaultState代替{state: defaultState}


像這樣。


    case RESET_STATE: {

      return defaultState;

    }

教程


const state = {

    isModalOpen: true,

    isCancelRequest: true,

    companyId: 123,

    users: ['1','2','3']

};


const defaultState: UsersState = {

  isModalOpen: false,

  isCancelRequest: false,

  companyId: 0,

  users: []

};


const getState1 = () => {

  return {

    ...state,

    isModalOpen: false,

    isCancelRequest: false,

    companyId: 0,

    users: []

  };

}


const getState2 = () => {

  return {

    state: defaultState

  };

}


const getState3 = () => {

  return defaultState;

}


console.log('this is goal state: ', getState1());

console.log('this is your state: ', getState2());

console.log('this is my state: ', getState3());


查看完整回答
反對 回復 2021-11-04
  • 2 回答
  • 0 關注
  • 235 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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