首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ngrx forms 8 reducer不更新状态

ngrx forms 8 reducer不更新状态
EN

Stack Overflow用户
提问于 2019-09-17 07:13:24
回答 1查看 718关注 0票数 3

我使用ngrx-forms (特别是ngrx8语法)来同步我的表单和状态存储。表单状态更新动作被成功分派,例如

代码语言:javascript
复制
{
  controlId: 'adForm.location.community',
  value: 'wst',
  type: 'ngrx/forms/SET_VALUE'
}

但是,状态始终保持不变,上面的情况在Redux开发工具中不会产生差异。

我的reducer如下所示:

代码语言:javascript
复制
export const reducer = createReducer(
  initialAdFormStoreState,
  onNgrxForms(),
  // Other action handlers
  // ...
)

export const adFormReducer = wrapReducerWithFormStateUpdate(
  reducer,
  (s) => s.data.form,
  adFormValidators,
)

初始状态的创建方式如下:

代码语言:javascript
复制
const initialAdFormStoreState: AdFormStoreState = {
  data: {
    form: createFormGroupState<AdForm>('adForm', { /* ... */ })
    // ...
  },
  // ...
}

我已经无数次地检查了更新状态文档,一切看起来都是正确的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-01 07:55:14

onNgrxForms()只检查功能状态对象顶层的表单。它没有更新我的状态,因为我们将状态拆分为ui/数据,所以我将表单放在了data.form中。我不得不把它提升到一个高度。或者,您可以编写自己的onNgrxForms()实现。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57965413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档