[英]Confused results on Change grandparent state created by Hooks from grandchild?
我試圖將孫代的grandParent狀態更改,我知道我應該將某種方法傳遞給孫子組件,嘗試之后,結果令人困惑。
如果我像GrandParent ---> Parent ---> Child這樣一步一步地通過方法,結果將是預期的。
所以問題來了:為什么會發生這種情況?
https://codesandbox.io/s/cranky-grass-45ifs
我希望一旦單擊添加的每個項目:
附錄 :
就像@Antonio所說的那樣,解決方案可能是:
而現在,最重要的是:
為什么控制台有不同的結果?
使用usState掛鈎更新Array狀態下的Object元素時出錯。
const toggleStarred = text => {
console.log("toggle: ", todos);
setTodos((prevTodos) => prevTodos.map((todo) => {
if (todo.text === text) return {...todo, isStarred: !todo.isStarred}
return {...todo};
}));
};
這是codepen 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.