从操作到减速器的Redux状态突变错误

时间:2018-11-09 00:05:40

标签: reactjs redux react-redux

尝试更改控件中的值时出现以下错误。

  

未捕获(承诺)错误:在两次之间检测到状态突变   在路径test中调度。这可能会导致错误的行为。

下面是代码


减速器

export default function testReducer(state = {}, action) {
  switch (action.type) {
    case types.UPDATE_TEST_SUCCESS:
      return {
        ...state,
        test: action.test
      };
    default:
      return state;
  }
}

操作

export function saveTest(testData) {
  return function(dispatch) {
    return testApi.testExam(testData).then(savedData => {
      dispatch(updateTestSuccess(savedData));
    });
  };
}

export function updateTestSuccess(exam) {
  return { type: types.UPDATE_Test_SUCCESS, exam };
}

API

static saveTest(testData) {
  let url = services.GET_Test_URL;
   return fetch(url, {
    method: 'PUT',
    body: JSON.stringify(testData).toString(), 
    dataType : "json",
    headers: {
          'Accept': 'application/json',
          'Content-Type': 'application/json'
      }
  }).then((response) =>  response.json())
   .then((testD) => Object.assign({}, testD))
  .catch((error) => { throw (error); });
}

0 个答案:

没有答案