【问题标题】:React Redux Cant add item into list in the stateReact Redux 无法在状态下将项目添加到列表中
【发布时间】:2018-08-27 17:36:44
【问题描述】:

列表的初始状态完美无缺, 我也可以在reduce中找到控制台日志。

但是它未能在列表中再添加一项。

我在调用“CLICK_SEARCH”操作后检查了商店
列表 (products1) 中仅剩余 1 个的项目数(initialState 那个)。

initialState3

 var initialState3 = {
        products1:[{
             id: "123",
              abbreviation: "123",
              case_no: "123",
              created_dt: "31/01/2018",
              last_updated: "11:43:45"

          }]
        }

减速器

function ReducersForSeach(state = initialState3, action) {
      switch(action.type) {
          case 'CLICK_SEARCH': {

          console.log("search action found");

           return [ ...state,
                    {
                       id: "123",
                       abbreviation: "123",
                       case_no: "123",
                       created_dt: "31/01/2018",
                       last_updated: "11:43:45"
                     }
                   ]

          }
          default :{
              return state
          }
      }
    }

【问题讨论】:

  • 'reducreForSeach' 第一个字和最后一个字有错别字?
  • 另外,如果 state 应该是一个列表,我认为你不应该一开始就返回 0

标签: reactjs redux


【解决方案1】:

您当前正在替换整个状态。你应该这样做:

return {
 ...state,
 products1: [...state.products1,
  { // I hope, you'll merge action.payload later
   id: "123",
   abbreviation: "123",
   case_no: "123",
   created_dt: "31/01/2018",
   last_updated: "11:43:45"
  }
 ]
}

【讨论】:

  • 是的,我对此进行了更改,但列表仍然只剩下一项;(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-01
相关资源
最近更新 更多