При чём тут магия, vuex не должен иметь возможности делать реактивным объект после Object.freeze
А до вызова экшна в state.foo пусто? Поглядите, там ob: Observer должен появиться еще ДО вызова
freeze убирает сеттеры у объекты, a когда вы добавляется объект в стор, то у него эти сеттеры заново определяются, т.к. их необходимо переопределить. Я так понимаю у вас Vue 2, где переопределенеи сеттеров выполняло ту задачу, которую сейчас выполняет Proxy
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze
Я знаю о содержимом этой документации.
Можно вызвать Object.defineProperty() на свойстве объекта, возвращенном Object.freeze()
Вуекс это свободный стейт менеджер и он ничего никому не должен. 😎
Обсуждают сегодня