Javascript 错误问题:失败的道具类型:道具'onClick'在'Letter'中标记为必需,但其值为'undefined'`
我是新手,所以出于教育目的,我正在制作一个刽子手游戏。但是我遇到了一个问题,从下面的代码片段来看,onclick事件无法识别为函数。我认为这个问题可能是由于使用不当造成的,但这只是一个假设 定义Javascript 错误问题:失败的道具类型:道具'onClick'在'Letter'中标记为必需,但其值为'undefined'`,javascript,reactjs,Javascript,Reactjs,我是新手,所以出于教育目的,我正在制作一个刽子手游戏。但是我遇到了一个问题,从下面的代码片段来看,onclick事件无法识别为函数。我认为这个问题可能是由于使用不当造成的,但这只是一个假设 定义 const Letter = ({ index, letter, onClick }) => ( <div className={`letter`} onClick={() => onClick(index)}> <button > {lett
const Letter = ({ index, letter, onClick }) => (
<div className={`letter`} onClick={() => onClick(index)}>
<button >
{letter}
</button>
</div>
)
渲染部分
ALPHABET.map((letter, index) => (
<Letter
letter={letter}
index={index}
key={index}
onClick={this.addLetter(letter,usedLetters)}
/>
问题在于:
onClick={this.addLetter(letter,usedLetters}
组件呈现后,您将立即调用该函数
假设您正在定义一个类组件,并且addLetter是其中的一个箭头函数,如下所示:
addLetter = (letter, usedLetters) => {
...
}
您可以将onClick属性修改为该属性,它仍然需要默认定义的参数
onClick={this.addLetter}
此外,您从未将Usedletter作为属性传递给Letter
谢谢,它解决了我的问题。我能更好地理解语法,因为它可能与
<Letter
letter={letter}
usedLetters={usedLetters}
index={index}
key={index}
onClick={this.addLetter(letter,usedLetters)}
/>