state数组和函数:
prices: [
{price: 1030},
{price: 500},
{price: 15500},
{price: 1300},
{price: 900},
]
我这样写:
filterino = () => {
let currentPrices = store._state.airCard.prices.filter(function (item) {
return item.price > 1000;}
);
在想法上,在一个变量中currentPrices包含 3 个对象的副本。
问题是,我怎样才能在currentPrices不覆盖当前的情况下进行绘制state?或者在调用过滤器之前是否会从服务器请求始终是最新state的并且一切正常?
如果在调用过滤器方法之前总是请求一个列表
prices,并且在接收到数据之后应用过滤器(filter),那么currentPrices包含一个过滤的新数组的渲染应该可以正常工作(至少因为filter返回一个新的数组不会导致突变)。只需使用渲染方法生成currentPrices的副本即可。filterino但是,这种方法很可能会向服务器发送额外的请求以获取数据。如果在服务器端接收到的数据
prices不经常更改,我建议将过滤参数存储在 URL 参数中,或者将应用的过滤器存储在state组件中,并在渲染之前获取过滤后的数组,然后再渲染它。减少对服务器的请求数。