减速器未更新状态?反应Redux

时间:2018-07-12 11:19:16

标签: javascript reactjs redux

我已经尝试过控制台记录“ ANSWER_UPDATE_SUCCESS”的返回结果,结果是正确的,但是由于某种原因,它不会更新状态?

减速器:

export function project(state = [], action){
  switch(action.type){
    case 'PROJECT_FETCH_SUCCESS':
      return action.project;
    case 'ANSWER_UPDATE_SUCCESS':
    {
      return updateItemInArray(state, action.answer.questionId, action.answer.answerId, action.answer.answerValue);
    }
    default:
      return state
  }
}

reducer中帮助我导航和更新嵌套数据的功能:

function updateObject(oldObject, newValues) {
  return Object.assign({}, oldObject, newValues);
}

function updateItemInArray(array, questionId, answerId, newValue) {
  console.log(newValue)
  return array.map(item => {
      if(item.id != questionId) {
        return item;
      } else {
        return {...item, answers: item.answers.map(answer => {
          if(answer.id != answerId) {
            return answer;
          } else {
            return updateObject(answer, { value : newValue})
          }
        })
      }}
    })

我想更新答案中的值,并且updateItemInArray的返回正确返回。.我发现这很奇怪,有人可以看到问题吗?

非常感谢您的回答!

0 个答案:

没有答案