键是未定义的反应
2017-12-06
1152
当我在本地主机中播放此代码时,它告诉我“未定义密钥”
import React from 'react';
import PropTypes from 'prop-types'
class LineTable extends React.Component{
supprimerLine = key => {
const newLines = {...this.state.newLines};
newLines[key] = null;
this.setState({newLines})
};
render(){
return(
<tr>
<td>{this.props.details.colone1}</td>
<td>{this.props.details.colone2}</td>
<td>{this.props.details.colone3}</td>
<td><button onClick={() => this.props.supprimerLine(key)}>
supprimer</button></td>
</tr>)};
static propTypes = {
supprimerLine: PropTypes.func.isRequired};}
export default LineTable
我认为这是因为我没有导入密钥,但我不知道如何导入它
2个回答
您有两点需要更正。
-
supprimerLine
在同一个类LineTable
中定义。因此,
this.props.supprimerLine(key)
不是调用它的正确方法。它会引发错误。正确的方法是
this.supprimerLine(key)
并且在构造函数中添加
this.supprimerLine = this.supprimerLine.bind(this)
; -
您尚未在当前上下文或类中的任何地方定义
key
。您需要先定义它。
RIYAJ KHAN
2017-12-06
Key 未定义,因为您的函数上下文不存在。您希望“key”包含什么?
this.props.supprimerLine(key)
也应该未定义,因为您的方法位于您的类中,而不是您的 props 中。
Mosè Raguzzini
2017-12-06