0

我有一个订阅观察者,包括以下内容:

return update(
    previousResult,
    {
        ApptsForCurrentUser: {
            $push: [newAppt],
        },
    }
);

通过订阅到达的新项目需要按日期排序的顺序插入到 ApptsForCurrentUser 数组中。这是一个多维数组,我可以使用$apply函数对其进行排序。

在将数组交给对其进行排序的函数之前,$push newAppt数组是否有语法?$apply

或者,我应该做这样的事情吗?

(尚未测试):

var newResult = clonedeep(previousResult);  //lodash
newResult.push(newAppt);
newResult.sort(myCustomSortFunction);
const newResultAsAConst = clonedeep(newResult); 
return update(
    previousResult, newResultAsAConst
);
4

1 回答 1

0

基于@Sacha 的建议,我能够通过以下代码解决这个问题:

import update from 'immutability-helper';
[.....]

const resultWithNewApptAdded = update(previousResult, {getAllApptsForCurrentUser: {$push: [newAppt]}});
//getAllApptsForCurrentUser contains unsorted list of appts
resultWithNewApptAdded.getAllApptsForCurrentUser = resultWithNewApptAdded.getAllApptsForCurrentUser.sort(mySortFunction);
return resultWithNewApptAdded;
于 2016-12-31T22:14:08.890 回答