Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我们是否可以在angular 6/ngrx中部分更新组件的状态_Angular_Redux_Ngrx - Fatal编程技术网

我们是否可以在angular 6/ngrx中部分更新组件的状态

我们是否可以在angular 6/ngrx中部分更新组件的状态,angular,redux,ngrx,Angular,Redux,Ngrx,我有一个名为FormComponent的组件,我设置了一个reducer来管理名为formReducer的组件的状态 在初始加载时,我获得以下格式的数据 formInfo: { form1Data: {form1properties}, form2Data: {form2Properties}, form3Data: {form3Properties} } 如果我想对form1执行部分保存,如何更新state.info.form1Data而不影响(重置)form2Data和f

我有一个名为FormComponent的组件,我设置了一个reducer来管理名为formReducer的组件的状态

在初始加载时,我获得以下格式的数据

formInfo: {
   form1Data: {form1properties},
   form2Data: {form2Properties},
   form3Data: {form3Properties}
}
如果我想对form1执行部分保存,如何更新state.info.form1Data而不影响(重置)form2Data和form3Data

我想执行部分状态更新

我的组件HTML采用以下格式:

<div>
  <form> form1Data </form> /*api 1*/
  <form nestedForm> /*api 2*
      <form> form2Data </form>
      <form> form3Data </form>
  </form>
</div>
defaultState = {
  formInfo: {
    form1Data: {
      somePropertiesCollection: defaultValues
    },
    form2Data: {
      somePropertiesCollection: defaultValues
    },
    form3Data: {
      somePropertiesCollection: defaultValues
    }
  }
}

function formreducer(state: defaultState, action: ALL) {
    case GET_FORM_INFO_SUCCESS:
       return {state, ...action.payload}
    case FORM_SECTION_1_SAVE_SUCCESS:
       const form1Data = action.payload;
       const formInfo = {...state.formInfo, form1Data}
       return {...state, formInfo}
    case FORM_SECTION_2_SAVE_SUCCESS:
       const {form2Data, form3Data} = action.payload;
       const formInfo = {...state.formInfo, form2Data, form3Data}
       return {...state, formInfo}
}
我的减速机的格式如下:

<div>
  <form> form1Data </form> /*api 1*/
  <form nestedForm> /*api 2*
      <form> form2Data </form>
      <form> form3Data </form>
  </form>
</div>
defaultState = {
  formInfo: {
    form1Data: {
      somePropertiesCollection: defaultValues
    },
    form2Data: {
      somePropertiesCollection: defaultValues
    },
    form3Data: {
      somePropertiesCollection: defaultValues
    }
  }
}

function formreducer(state: defaultState, action: ALL) {
    case GET_FORM_INFO_SUCCESS:
       return {state, ...action.payload}
    case FORM_SECTION_1_SAVE_SUCCESS:
       const form1Data = action.payload;
       const formInfo = {...state.formInfo, form1Data}
       return {...state, formInfo}
    case FORM_SECTION_2_SAVE_SUCCESS:
       const {form2Data, form3Data} = action.payload;
       const formInfo = {...state.formInfo, form2Data, form3Data}
       return {...state, formInfo}
}

我刚开始在ngrx商店和angular 6上工作。我能够做一些小事情,但在复杂的结构中面临问题。

向我们展示您的formreducer定义和更新action@mayur您是如何修复的?我正在使用view child进行处理。并且me子组件具有序列化方法。每个组件序列化方法都有助于我在全局级别和单个级别上进行处理