我有一个带有一些非常简单的表单字段的应用程序,并且希望每次更新字段时都会触发对服务器的POST请求,以便在数据库中同步数据。
在输入字段更改时,将使用键和&分配同步操作。要更新的字段的值。此操作由以下reducer处理。
docker rmi
现在我想将整个新的更新状态发布到服务器。
根据下面的响应,我使用新值更新状态,然后将数据POST到saga处理程序生成器中的服务器,但我不确定此实现是否正确。 How to fire AJAX calls in response to the state changes with Redux?
在每次更改时POST整个状态并与服务器同步是否正确?是否应该仅发布新值并在响应时更新应用程序状态?
您会建议采用完全不同的方法吗?
我想澄清一下,经过一段时间的搜索,我的问题没有找到任何明确的答案。在redux堆栈中是新的,我不太确定我的问题可能有多相关。
答案 0 :(得分:0)
实施比最初想象的要简单得多。我唯一要做的就是在我的传奇中“听到”同样的派遣行动。
function* handleChange(action) {
try {
let state = yield select(state => state);
yield put(syncing());
const response = yield call(api,{state});
if(response.updated) {
yield put(syncSucceeded());
} else {
yield put(syncFailed());
}
} catch (e) {
yield put(syncFailed(e));
}
}
function* mySaga() {
yield takeLatest(INPUT_FIELD_UPDATE, handleChange);
}