[英]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.