簡體   English   中英

useState,使用 contexAPI 響應鈎子

[英]useState, react hook with contexAPI

我有一個很奇怪的問題。 長話短說,我使用帶有上下文 api 的 React 鈎子。 當我嘗試使用過濾器從我的狀態中刪除項目時,使用狀態功能沒有啟動

我的數據如下所示:在此處輸入圖像描述

我的代碼看起來像這樣,問題出在 deleteUser 函數上:(僅添加了相關部分):

const UserContextProvider = (props) => {
const[users,setUsers] = useState([])

const addUser = (user) =>{
    setUsers([...users,user])
}

const updateUser = (obj) =>{
    deleteUser(obj.UserName)
    addUser(obj)
}

const deleteUser = (us) =>{
 //not working
 setUsers(users.filter(u=>u.UserName!=us))

 //working
let temp  = [...users]
 temp = temp.filter(el=>el.UserName!=us)
 setUsers([...temp]) 
}

試試這個...

const deleteUser = (us) =>{
 setUsers(previousUsers => previousUsers.filter(u => u.UserName !== us))
}

你的問題是你沒有使用 !== 而是你寫了 !=

const deleteUser = (us) =>{
 //Add an equal sign it will work
 setUsers(users.filter(u=>u.UserName!==us))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM