这是一个很难解决的问题。我遇到的问题是,当我删除一些东西时,我必须刷新页面。我被告知我可能没有正确地更新状态,状态是通过redux控制的。
这是我从reducer中删除的动作
case 'Delete_Recipe':
const recipes = state.recipes.filter(recipe => recipe.id !== action.id)
return {...state, recipes}
这里是我的delete action
export const deleteRecipe = (recipeId) =>{
const BASE_URL = `http://localhost:10524`
const RECIPES_URL =`${BASE_URL}/recipes`
return (dispatch) => {
fetch(`${RECIPES_URL}/${recipeId}`,{method: 'DELETE'})
.then(response =>{ return response.json()})
.then(recipeId => { return dispatch({ type: 'Delete_Recipe', recipeId })});
};
}
我想这就是所需要的,如果你还需要什么,请告诉我。但是我还能做些什么来让我在不刷新页面的情况下删除呢?
在代码中,这一行
const recipes = state.recipes.filter(recipe => recipe.id !== action.id)
应:
const recipes = state.recipes.filter(recipe => recipe.id !== action.recipeId)