法典:
const Game = () => {
const [itemId, setItemId] = useState('');
const [letters, setLetter] = useState([]);
const handleItemClick = (id) => {
letters[letters.length - 1] === 'H' ? setLetters([...letters, 'L']) :
setLetters([...letters, 'H']);
setItemId(id);
}
return (
<div class="app">
<ul>
{
[...Array(9)].map((_, idx) => {
return (
<Item
letters={letters}
handleSquareClick={handleItemClick}
id={idx}
itemId={itemId}
/>
)
})
}
</ul>
</div>
)
}
Item元件
const Item = ({letters, handleItemClick, id, itemId }) => {
return (
<li
onClick={() => handleItemClick(id)}
>
//the problem is here
//letters[id] returns different result from letters[itemId]
</li>
)
}
为什么在组件中使用,只需单击一个项目即可使所有 “的 接收 ”H“ 字母,而使 li 的接收值在每次单击时逐个显示letters[itemId]Itemliletters[id]
胡说叔叔
慕慕森
慕勒3428872
慕婉清6462132
随时随地看视频慕课网APP
相关分类