Оператор распространения, вызывающий проблему с машинописью

Я пытаюсь реализовать избыточное хранилище для моего приложения реагировать на машинопись. У меня проблема в редукторе. В родных реакциях я сделал следующее

  reminders = [...state, reminder(action)];
  return reminders;

оператор распространения работает отлично. и новый объект добавляется в массив неизменным.

с машинопись это не происходит.(получить пустой объект вместо массива) Я попытался object.assign

  return (<any>Object).assign({}, state, reminder(action));

Это заменяет текущий объект, а не добавляет его в массив, и я не думаю, что он делает это неизменным образом.

Я попробовал uisng immutable.js, а редуктор вообще не вызывался.

 return map([state,reminder(action)])

понятия не имею, что не так. также после использования objext.assign nextprops и токовые реквизиты всегда приходят одинаковыми. даже если он изменен в методе shouldContainerUpdate()

1 ответ

Решение

оператор распространения работает отлично. и новый объект добавляется в массив неизменным.

Используйте то же самое в TypeScript, и он будет отлично работать:

reminders = [...state, reminder(action)];
return reminders;

Зачем

Потому что TypeScript следует той же семантике, что и синтаксис JavaScript для JavaScript

Другие вопросы по тегам