Описание тега immer.js

NoneJs инструмент для изменения неизменяемых структур объектов (создание новой структуры путем изменения существующей)
0 ответов

Redux с Immer не обновляет компонент

Я пытаюсь добавить элемент в массив в объекте в моем магазине Redux. Я вижу, что объект добавлен в магазин, но он не обновляет компонент. Если я покину страницу и вернусь, она появится. Я почти уверен, что это проблема мутаций состояния, но я не мог…
17 фев '19 в 01:39
2 ответа

Как обновить несколько свойств состояния с immer.js

Интересно, возможно ли обновить несколько свойств состояния с immer.js в один "звонок". Скажи у меня state: export const initialState = { isUserLogged: false, menuIsClosed: false, mobileMenuIsClosed: true, dataArray: ["dog","cat"], }; А также action…
10 янв '19 в 09:49
0 ответов

Как использовать Aurelia Store, каков наилучший способ скопировать ваше состояние в Actions?

Какими способами можно глубоко клонировать мое состояние в действии? Возможные решения, которые я видел, - Immer.js, JSON.parse(JSON.stringify)Или создайте рекурсивную функцию, которая делает глубокий клон. Я даже думал о воссоздании того, что делае…
25 сен '18 в 11:29
1 ответ

Как я могу дать наблюдаемой трубе RxJS доступ к исходной эмиссии наблюдаемой И предыдущей эмиссии трубы?

У меня есть RxJS Observable, который испускает серию изменений в базовой структуре данных, в частности, snapshotChanges () из AngularFirestoreCollection. В настоящее время я сопоставляю это с массивом простых объектов JavaScript для использования мо…
1 ответ

Как вы отлаживаете состояние пользовательского интерфейса с помощью Immer?

У меня есть кнопка, которая вызывает handleApplyFiltersButtonClick, которая обновляет состояние путем применения фильтров к некоторым данным. У меня есть ошибка где-то. Я изо всех сил пытаюсь отладить состояние, которое использует продукцию Иммерса,…
07 ноя '18 в 23:06
0 ответов

Immer не поддерживает установку нечисловых свойств для массивов

Я пытаюсь обновить часть состояния массивом данных, которые я получаю с сервера. Это мой редуктор: const schoolsDataReducer = (state = { data: [] }, action) => produce(state, draft => { switch (action.type) { case SET_INITIAL__DATA: draft.data…
31 окт '18 в 20:21
0 ответов

Immer обновить данные с использованием спреда

Скажем у меня государство в редуксе const initialState = { age: 0, title: undefined, body: undefined, author: undefined } Я хочу обновить его с помощью newState, полученного из моего бэкэнда, и он имеет точно такой же ключ (age, title, body, author)…
12 апр '19 в 21:25
1 ответ

'TypeError: попытка недопустимой операции на отозванном прокси-сервере' при использовании Immer с setState

Я недавно провела рефакторинг своего приложения React, чтобы использовать Immer. Однако в onFormValueChange с помощью produce дает мне ошибку TypeError: illegal operation attempted on a revoked proxy в то время как версия, которая написана без produ…
08 мар '19 в 10:24
1 ответ

Обновление вложенного реактивного состояния

Я использую реагирующий избыточный код (с immer), чтобы сохранить параметры и стили моего приложения после инициализации. Как изменить функцию обновления для обновления определенных стилей / параметров приложения, не меняя другие параметры / стили? …
16 мар '19 в 13:47
0 ответов

Использование immer.js - переназначение черновой ссылки на массив приводит к той же самой ссылке на массив в состоянии

У меня есть этот провальный тест с использованием метода продукта immer.js: it('should replace array reference in state', () => { let state = { someArray: [1], }; const somArrayUpdate = [2, 3]; state = produce(state, draft => { draft.someArray…
21 мар '19 в 10:12
0 ответов

Immer.js и eslint fp/no-mutation

Эслинт всегда жалуется Unallowed reassignment от fp/no-mutation правило для основных immer построить: const nextState = produce(baseState, draftState => { draftState.push({todo: "Tweet about it"}) draftState[1].done = true }) Так как draftState в…
26 мар '19 в 16:01
1 ответ

Тест редукторов с Immer

Недавно я начал использовать Immer в редукторных редукторах в своем приложении реакции, так как в них много вложенных состояний. (давайте избежим того факта, что эта вложенность может быть решена с помощью вспомогательных редукторов). Использование …
03 апр '19 в 10:31
1 ответ

Как запретить редактированию встроенных ячеек ag-grid автоматическое изменение данных строки

AgGrid по умолчанию изменяет данные базовой строки, когда выполняется встроенное редактирование. Это нарушает "правила неизменности", так как моя модель хранится в избыточном количестве. Как я использую immer Я тоже получаю Невозможно назначить толь…
23 апр '19 в 13:53
1 ответ

Редукс изменился, чтобы отразить только одну опору

У меня есть один большой объект, хранящийся в моем магазине, который содержит ответ API, и всякий раз, когда я изменяю одно изменение в этом объекте, он обновляет все компоненты, прикрепленные к этому объекту, и мне нужно, чтобы он обновлял только т…
29 апр '19 в 08:24
1 ответ

Сохранить замороженный объект как глобальное состояние

Я играю с immer.js, и у меня возник вопрос, можно ли назначать и сохранять замороженный объект в глобальном состоянии после того, как let initialState = {a: 'a'}; const nextState = produce(initialState , draftState => { draftState.a = 'b', }); in…
02 май '19 в 16:47
2 ответа

Immer редуктор не работает с Typescript

У меня проблема с редуктором, созданным immer.js в TypeScript. Я не понимаю следующее: Когда я использую объектный литерал {} в исходном состоянии, неизменность работает нормально, но один раз const byId = (state = {}, action) => produce(state, d…
14 май '19 в 17:05
3 ответа

Как вернуть исходное состояние из редуктора с помощью Immer?

Я работаю над проектом React и использую Redux для управления состоянием. Я перехожу из ImmutableJS в Immer, и я не уверен, как вернуть исходное состояние с некоторыми изменениями. Я использовал слияние с ImmutableJS, но не уверен, как это сделать с…
15 май '19 в 11:29
2 ответа

DeepCopy Object в JavaScript, используя immer

Я использую immer, чтобы преобразовать реактивное / избыточное состояние. Могу ли я также использовать immer для глубокого копирования объекта без его преобразования? import produce, {nothing} from "immer" const state = { hello: "world" } produce(st…
05 мар '19 в 09:08
1 ответ

Проблема findIndex с Immer и Redux Starter Kit

У меня есть избыточное состояние, которое мне нужно обновить, это выглядит так: [ { date: moment("2019-06-15").toObject(), attendance: [ { name: "Ruben Hensen", membershipNumber: "2084700", attending: true, present: false }, { name: "Peter Petersen"…
28 июн '19 в 20:21
1 ответ

Как передать новый ключ в виде массива с помощью immer?

Скажем, у меня есть начальное состояние, как const initialState = { loading: false, updating: false, saving: false, data: {}, error: null }; И я хочу добавить данные в результате действия, но данные, которые я хочу добавить, будут массивом. Как мне …
29 авг '19 в 17:32