Redux使用Map()形成初始值

时间:2018-06-17 15:17:53

标签: javascript reactjs redux redux-form immutable.js

我有一个redux表单,我想将初始值属性设置为Map而不是对象。这是强制性的,我无法改变这一点:P 因此我设置了一个initialValues Map:

export const initialValuesForm = (timeSlots, formValues) => {
  const initialValues = Map();
  const date = formValues[DATE_PICKER_FORM_FIELD] && formValues[DATE_PICKER_FORM_FIELD].startDate;
  const travelers = formValues[TRAVELERS_FORM];
  initialValues[POPUP_DATE_PICKER] = date;
  initialValues[TRAVELERS_FORM_SELECT] = travelers;

  return initialValues;
};

formValues是一个对象,具有来自州的另一种形式的值。 非常奇怪的情况是,当我打开弹出窗体时,值对象和初始对象是一个空对象。当我更改一个值时,所有值都会更新并位于Map中。我的mapStatetoProps函数是这样的: const mapStateToProps =(state)=> {   返回{     可用性,     语言环境,     activityToBeAdded,     popUpFormErrors,     initialValues:initialValuesForm(timeSlots,searchFormValues)   }; }; 为什么会这样?有什么想法吗?

0 个答案:

没有答案