Angular ngrx 8 selector没有返回任何值
创始人
2024-10-20 08:30:38
0

如果Angular ngrx 8的selector没有返回任何值,可以尝试以下解决方法:

  1. 检查selector的定义和用法:确保selector的定义正确,并在组件中正确使用。确保selector返回的数据与state中的数据一致。

示例代码:

// 定义selector
const selectData = createSelector(
  selectFeature, // selectFeature为state中的某个属性
  (state: FeatureState) => state.data
);

// 在组件中使用selector
this.data$ = this.store.pipe(select(selectData));
  1. 检查state的初始化:确保state中的数据已经初始化。如果state中的数据在初始化时为null或undefined,selector将无法返回任何值。

示例代码:

export interface FeatureState {
  data: any; // 确保data属性已经初始化
}

const initialState: FeatureState = {
  data: null // 初始化为null或其他初始值
};

export function reducer(state = initialState, action: any): FeatureState {
  // reducer逻辑
  return state;
}
  1. 检查订阅数据的时机:确保在订阅selector返回的数据之前,数据已经被更新。可以使用async管道或ngOnInit等生命周期钩子确保正确的订阅时机。

示例代码:


{{ data$ | async }}

// 在组件中使用ngOnInit订阅数据 ngOnInit() { this.data$.subscribe(data => { // 处理数据 }); }
  1. 检查数据的流向:确定数据是否正确地从state流向selector,再从selector流向组件。可以在selector中添加console.log语句来确认数据是否流动。

示例代码:

const selectData = createSelector(
  selectFeature,
  (state: FeatureState) => {
    console.log(state.data); // 确认数据流向
    return state.data;
  }
);

通过以上方法,可以解决Angular ngrx 8 selector没有返回任何值的问题。确保selector的定义和用法正确,state的初始化正确,订阅数据的时机正确,数据的流向正确。

相关内容

热门资讯

截至发稿!微信卡五星辅助器!真... 截至发稿!微信卡五星辅助器!真是真的是有辅助挂(发现有挂)-哔哩哔哩1、截至发稿!微信卡五星辅助器!...
做出回应!衢州都莱破解器!真是... 做出回应!衢州都莱破解器!真是有挂辅助软件(有挂实锤)-哔哩哔哩小薇(辅助器软件下载)致您一封信;亲...
今天下午!八仙游戏辅助!一贯存... 今天下午!八仙游戏辅助!一贯存在有辅助软件(有挂讲解)-哔哩哔哩1、进入到八仙游戏辅助是否有挂之后,...
经调查!道游辅助脚本!确实是真... 经调查!道游辅助脚本!确实是真的辅助脚本(有挂存在)-哔哩哔哩1、全新机制【道游辅助脚本ai辅助工具...
据相关数据显示!陕麻圈黑科技!... 据相关数据显示!陕麻圈黑科技!切实是有辅助软件(有挂详细)-哔哩哔哩1、进入游戏-大厅左侧-新手福利...
不少玩家反映!福州十八扑有外g... 不少玩家反映!福州十八扑有外g挂吗!其实有挂辅助修改器(详细教程)-哔哩哔哩1、完成福州十八扑有外g...
记者获悉!福建兄弟13水辅助!... 记者获悉!福建兄弟13水辅助!总是是真的辅助安装(有挂方式)-哔哩哔哩1、完成福建兄弟13水辅助辅助...
截至目前!天天贵阳app破解版... 截至目前!天天贵阳app破解版!都是真的有辅助插件(有挂解惑)-哔哩哔哩1、实时天天贵阳app破解版...
截至发稿!掌中乐游戏中心云南辅... 截至发稿!掌中乐游戏中心云南辅助!一贯存在有辅助app(有挂规律)-哔哩哔哩掌中乐游戏中心云南辅助是...
今日!柚子联盟辅助脚本!果然有... 今日!柚子联盟辅助脚本!果然有挂辅助插件(今日头条)-哔哩哔哩柚子联盟辅助脚本透视方法中分为三种模型...