В 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
компонента и перед рендерингом получайте отфильрованный массив и затем рендерите его. Чтобы снизить количество запросов к серверу.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Как заменить onclick на addEventListener так, чтобы остались те же свойства? То есть после нажатия на <button id="delete">Delete</button> при нажатии на элементы...
Как можно реализовать автоматический механический клик по button id="winterfell" при входе на страницу?Механический,в том смысле,чтобы после входа...