表单属性在呈现时返回undefined

时间:2017-06-26 06:08:16

标签: reactjs

我使用prop来呈现错误,只有在单击提交按钮后将错误返回到表单时才会触发错误。此功能正在运行,但是当表单加载时我正在设置控制台错误Cannot read property 'company' of undefined

路径:SingleInput props

const SingleInput = (props) => (
  <FormGroup validationState={props.error ? 'error' : null}>
    {props.error ? <HelpBlock>{props.error}</HelpBlock> : '' }
  </FormGroup>
);
SingleInput.propTypes = {
  error: PropTypes.string
};

路径:form

constructor(props) {
  super(props);

  this.state = {
    careerHistoryPositions: [{company: '', errors: {} }],
  };
}

render() {
  return (
    {this.state.careerHistoryPositions.map((careerHistoryPosition) => (
      <div key={careerHistoryPosition.uniqueId} className="individual-position">
        <SingleInput
          error={careerHistoryPosition.errors['company']}
        />
      </div>
    ))}
  )
}

1 个答案:

答案 0 :(得分:1)

问题出在这里。的 careerHistoryPosition.errors [ '公司']

careerHistoryPosition 是一个数组,您正在编写 careerHistoryPosition.errors ,当您尝试从数组中获取密钥时,这将是未定义的。然后你正在尝试从undefined获得公司的价值。