尝试更改控件中的值时出现以下错误。
未捕获(承诺)错误:在两次之间检测到状态突变 在路径
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); });
}