Я бы порекомендовал преобразовать вашу структуру данных из массива в пару коллекция / ключ-значение для каждого пользователя.
Это позволит вам select(userlistReducers[_id])
и означает, что у вас не будет других UserModel
объекты, изменяющие массив, в котором они содержатся.
state: ApplicationState = {
users: {
'd27f23d67f23i7d23': {name: 'Nate, '_id': 'd27f23d67f23i7d23'},
'87387387g3487gd83': {name: 'Shyamal, '_id': '87387387g3487gd83'}
}
}
watchSelectedUser = (): Observable <UserModel> => {
return this.userlistStore.select(userReducers['87387387g3487gd83']);
}
Это немного грубо, и я не уверен, что логика select()
идеальна, но теперь вы можете получить доступ только к одному пользователю за раз,Это потребует небольшого количества рефакторинга и нового адаптера сущности, но это IMO - лучшая структура.