为什么我会收到 TypeError:无法读取未定义的属性“length”?[关闭]
2019-04-16
52
我正在尝试编写一行条件语句来设置 React 组件
state
中的变量值。
请参阅下面提取的代码:
class ModuleInstance extends React.Component {
// Initial module counter
state = {
assignments: this.props.assignments,
params: [
{single_assigment: this.props.assigments.length === 1 ? true : false}
],
}
ModuleInstance 从其父类接收
assignments
作为传递的 prop,但是当尝试分配
single_assigment
时,它无法识别该 prop 并抛出
*TypeError: Cannot read property 'length' of undefined*
。
请记住,我对 Javascript 开发还很陌生,但如果有人能解释这有什么问题 - 我将不胜感激 :)
2个回答
确保您已传递正确的
this.props.assignments
,对
this.props.assignments
应用错误检查,然后更正拼写错误。
class ModuleInstance extends React.Component {
// Initial module counter
state = {
assignments: this.props.assignments,
params: [
{ single_assigment: (this.props.assignments && this.props.assignments.length === 1) ? true : false }
],
}
}
D Mishra
2019-04-16
您在名称分配中有一个拼写错误,您在 g 后面缺少了 n
class ModuleInstance extends React.Component {
// Initial module counter
state = {
assignments: this.props.assignments,
params: [
{single_assignment: this.props.assignments.length === 1 ? true : false}
],
}
hawkstrider
2019-04-16