чём, у меня есть стор, в котором есть поле с массивом инстанцов кастомного класса, у которого есть композиция с другими классами, и получается что при вызове методов я мутирую состояние инстанцов, получается я нарушаю суть вьюч при котором состояние должно изменяться от мутаций(именно мутаций вьюх)? Т.е в вьюх использовать инстанцы нельзя и стоит их заменять голыми объектами.
Так же вопрос, вот есть у меня поле, в котором находится массив объектов, как правильно его мутировать, передать в мутацию primary key по которому в мутации найдётся нужный объект и передать объект изменённых свойств(допустим commit('changeCard', {id: 1, fields: {type: 'red', count: 123}}))?
В идеале стор должен быть сериализуемым с простыми объектами. Если там все-таки лежат инстансы, то простых дата-классов, а не с методами. В вашем случае тогда надо под каждый такой метод делать мутацию, либо делать универсальную мутацию
А передавать для массива можно и индекс, и id. Если объекты существуют только, как элементы этого массива, то удобнее с индексом. Иначе лучше по id
А вот ещё такой вопрос, у нас если передаётся индекс, то тайп скрипт выдаст тип _type_ | undefined и нужно будет проверять на undefined, а что если индекс окажется невалидным(элемента по индексу не будет), то мутацию просто отменить(сделать return не дав обратиться к полю у undefined)
Обсуждают сегодня