Mam tablicę użytkowników. Użytkownik wygląda tak :
export interface IFriend {
_id: string;
name: string;
surname: string;
avatar: string;
online: boolean;
}
Wyświetlam tą tablicę posortowaną w komponencie (w kolejności status - surname - name) - czyli online:true na górze, reszta na dole. W momencie kiedy jakiś znajomy zmieni status, serwer gniazdem przesyła nam o tym informację - konkretnie dostaję _id i nowy status online. I teraz nie wiem za bardzo w jaki sposób zmienić to w aktualnej tablicy, żeby to miało ręce i nogi... Chciałem to zrobić najprościej, czyli zmienić status odpowiedniego użytkownika i posortować na nowo tablicę, a potem podmienić w stanie reduxa jedną tablicę na drugą, ale ten sposób wydaje mi się strasznie toporny i mam lekki problem jak napisać funkcję porównującą do metody sort()....
let myState = getState();
let friendsCopy = JSON.parse(JSON.stringify(myState.friends.friends));
friendsCopy.forEach((friend: IFriend) => {
if (friend._id === uid) friend.online = status;
});
friendsCopy.sort((a: IFriend, b: IFriend) => {
if()
})
dispatch({
type: actions.FRIEND_STATUS_CHANGE,
friendsCopy
});