Reactjs 在POST/PUT/DELETE API调用之后,更新redux存储中数据的最佳方法是什么
您建议的可扩展方法是什么?为什么 选项1:在redux中进行API调用以修改后端数据并手动更新存储Reactjs 在POST/PUT/DELETE API调用之后,更新redux存储中数据的最佳方法是什么,reactjs,react-redux,Reactjs,React Redux,您建议的可扩展方法是什么?为什么 选项1:在redux中进行API调用以修改后端数据并手动更新存储 // saga export function * updateList(action){ yield call list endpoint yield put(updateListCompleted(action)) } // action updateListCompleted (action){ return { type: 'UPDATE_LIST_COMPLETED
// saga
export function * updateList(action){
yield call list endpoint
yield put(updateListCompleted(action))
}
// action
updateListCompleted (action){
return {
type: 'UPDATE_LIST_COMPLETED',
action,
}
}
// reducer
function reducer(state = initialState, action) {
switch (action.type) {
case actionTypes.UPDATE_LIST_COMPLETED:
return {...state, {...action.listData})
}
选项2:进行API调用以修改后端数据,并进行后续GET调用以更新存储
// saga to update backend list
export function * updateList(action){
yield call update list endpoint
yield put(getListAction(action))
}
// action
getListAction (action){
return {
type: 'GET_LIST',
action,
}
}
...
// this is triggered by the GET_LIST action
export function * getList(action){
yield call get list endpoint
yield put(getListCompleted(responseFromListEndpoint))
}
// action
getListCompleted (response){
return {
type: 'GET_LIST_COMPLETED',
response,
}
}
// reducer
function reducer(state = initialState, action) {
switch (action.type) {
case actionTypes.GET_LIST_COMPLETED:
return {...state, {...action.response})
}
选项1
将是通常的选择,除非有些信息只能通过那些额外的GET
请求访问