Reactjs React/redux:我必须重新加载要删除的页面

Reactjs React/redux:我必须重新加载要删除的页面,reactjs,react-redux,Reactjs,React Redux,所以这是一件很难解决的事情。我遇到的问题是,当我删除某些内容时,我必须刷新页面。有人告诉我,我可能没有正确更新状态,并且状态是通过redux控制的 这是我的减速机中的删除操作 case 'Delete_Recipe': const recipes = state.recipes.filter(recipe => recipe.id !== action.id) return {...state, recipes}

所以这是一件很难解决的事情。我遇到的问题是,当我删除某些内容时,我必须刷新页面。有人告诉我,我可能没有正确更新状态,并且状态是通过redux控制的

这是我的减速机中的删除操作

case 'Delete_Recipe':
            
            const recipes = state.recipes.filter(recipe => recipe.id !== action.id)
            return {...state, recipes}
这是我的删除操作

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)

这不起作用:-(@Stitch是否
recipe.id
action.recipeId
具有相同的类型?这一直是我难以确认的。我在itI上有调试器,我认为它们不是相同的类型,然后将它们转换为相同的类型…@Stitch