当前位置: 首页 > 知识库问答 >
问题:

如何在MERN堆栈应用程序中使用上下文和钩子从状态中删除项

何兴安
2023-03-14

我如何编辑我的函数以从我的用户状态中删除项目?在user.cart中,它是数组。

函数如下:

const removeFromContextCart = (id) => {
        console.log(id)
        const updatedCart = user.cart.filter((item) => item.id !== id);
        setUser(oldState => ({
            ...oldState,
            cart: [
                ...oldState.cart,
                updatedCart
            ]
        }))
    }

下面是按钮:

<button className="remove--Button" onClick={() => {removeFromCart(user._id, product); setUser(removeFromContextCart(product._id))}}> REMOVE</button>

共有1个答案

梁晋鹏
2023-03-14

改变

cart: [
    ...oldState.cart,
    updatedCart
]

cart: updatedCart

我不明白您试图在按钮的onclick处理程序中做什么。不应调用SetUser(removeFromContextCart(Product._ID)。只应调用removeFromContextCart(Product._ID)

 类似资料:
  • 我正试图找到一种方法来更新我的“用户”状态,但我在这里已经停留了3天,我需要一些帮助。 下面是我的用户上下文: 这里是我试图更新用户的地方。在我的例子中,我试图在user.cart数组中推送一个对象,因为后端的一切都很好,但在前端,状态不更新: > 首先使用UserContext: const Products=()=>{ 然后我试图更新用户状态,但当我单击该按钮时,它将我注销: 将我注销后,Us

  • 我正在尝试将Google Maps添加到我的MERN Stack应用程序中。根据一些消息来源,我发现在create-react-app中添加.env文件并不能解决隐藏API_Keys(https://create-react-app.dev/docs/adding-custom-environment-variables/)的目的。如何将API_KEYS存储在后端(node.js)中并从React

  • 我需要帮助在类别上发布多个数据,当我在选择输入上选择多个数据并提交时,它会抛出错误。请参阅下面的错误 下面是模型模式。模型 这是我的路线文件。路线 当我在输入选择上选择多个时,这是我提交时的错误。 但当我只选择一个时,它就会通过。我只能保存一个在五月类别字段,我想保存多个在我的类别字段。

  • 我在R中创建了一个列表,大致如下: 〈代码〉主义者 我这样做是使用,我学到了应用排序--这意味着键是按字母数字排序的。 不幸的是,稍后,我需要按lappy中的位置访问这些值。我需要按照它们插入列表的顺序访问它们。 是否有任何方法可以从

  • 似乎OAuth2AuthenticationProcessingFilter在spring-security-oauth Version2.0.6中发生了变化(参见此处)。现在我需要将无状态设置为false。如何在应用程序上下文XML中做到这一点?(因未经许可,无法对原帖发表评论)

  • 节目视图:截图 这是一个MERN项目: 我正在开发一个web应用程序,可以对公司模型进行用户CRUD操作。 我已经执行了Get-Add-Delete操作,但我对更新操作感到困惑。 我想使用我的CompanyModal(它是一个用于添加公司的引导模式)组件模式来编辑公司。 你能给点提示或建议做这件事吗?其实我脑子一片空白。