Reactjs 我的组件正在尝试访问不存在';“还不存在。”;无法读取属性';数据';“未定义”的定义;

Reactjs 我的组件正在尝试访问不存在';“还不存在。”;无法读取属性';数据';“未定义”的定义;,reactjs,redux,state,Reactjs,Redux,State,我的组件正在尝试映射StateToprops某些表单数据,这些表单数据在用户输入并提交之前不存在。表单将接收输入,将其存储到redux中,然后我将能够获取该数据并在API调用后填充一个表 const StepOne = props => { const [formObj, setFormObj] = useState({ rigName: "", desc: "", choices: [ { choice: "", c

我的组件正在尝试映射StateToprops某些表单数据,这些表单数据在用户输入并提交之前不存在。表单将接收输入,将其存储到redux中,然后我将能够获取该数据并在API调用后填充一个表

const StepOne = props => {
  const [formObj, setFormObj] = useState({
    rigName: "",
    desc: "",
    choices: [
      {
        choice: "",
        customAttribute: ""
      }
    ]
  });

  return (
    some inputs fields
  );
};
const mapStateToProps = state => {
  return {
    formData: state.stepOneForm.data
  };
};
const mapDisptachToProps = disptach => {
  return {
    addFormIntoRedux: data => disptach(AddFormData(data))
  };
};
export default connect(mapStateToProps, mapDisptachToProps)(StepOne);
我发现其他帖子建议我加入初始数据?或者在渲染后进行检查,但我不确定那会是什么样子。 我相信这些选择可能是解决方案,但不确定如何从这里开始


我认为这可以解决您的问题:

const mapStateToProps = state => {
  return {
    formData: state.stepOneForm ? state.stepOneForm.data : null,
  };
};
我使用
null
作为未定义中
stepOneForm
的默认值,但您可以根据需要更改它