代码之家  ›  专栏  ›  技术社区  ›  Hamed Minaee

spread运算符未将值设置为正确的状态

  •  0
  • Hamed Minaee  · 技术社区  · 5 年前

    我有一个奇怪的问题,当我试图设置我的状态在我的减速器。

    state = {
      ...state,
      activeChannel: action.payload.channelList[0].name
        .replace("&", "and")
        .replace("`", "")
        .replace("'", "")
        .replace("-", "")
        .replace(/\s/g, "")
        .toLowerCase(),
      preferedChannelsList: channelObjectTemp
    };
    

    当我控制台.log但通道状态设置不正确。

    我使用扩展运算符的方式有什么问题吗?

    减速器代码更新

        switch (action.type) {
          case GET_CHANNEL:
            let totalNumberOfStories=0;
            let activeChannelList=action.payload.channelList.slice(0,lazyLoadingStep);
            let channelObjectTemp= {
                ...state.preferedChannelsList,
               [action.payload.channelList[0].name.replace("&","and").replace("`","").replace("'","").replace('-','').replace(/\s/g, '').toLowerCase()]:action.payload.channelList[0]};
    
    
            state={...state,activeChannel: action.payload.channelList[0].name.replace("&","and").replace("`","").replace("'","").replace('-','').replace(/\s/g, '').toLowerCase(),
                "preferedChannelsList":channelObjectTemp };
            break;
    
    0 回复  |  直到 5 年前