Meteor - реактивная переменная createContainer

Я пытаюсь назначить реактивные данные для const date здесь, так что продолжительное значение распространяется на мой компонент через this.props.date

Я использую усиление для сохранения выбранной пользователем даты в локальном хранилище браузера.

export default createContainer(() => {

  // Amplify Store
  const date = amplify.store( "date") || '';

  return { date};
}, sidePanel);

Я вижу, что значение изменения изменяется в локальном хранилище браузера, но this.props.date не обновляется.

Есть идеи, если это приемлемый подход?

Я знаю, что следует использовать Redux или подобную библиотеку, но это будет слишком много для этого небольшого проекта, над которым я работаю.

Спасибо

1 ответ

Решение

После некоторого чтения я узнал, что метеорные корабли с несколькими реактивными источниками данных:

  • Переменные сеанса
  • Запросы к базе данных по коллекциям
  • Meteor.status
  • Метод ready() в дескрипторе подписки
  • Meteor.user
  • Meteor.userId
  • Meteor.loggingIn

То, что я делал в моем вопросе, использовало createContainer проверить нереактивный источник данных.

Meteor предоставляет API для создания собственного настраиваемого реактивного источника данных.

Тем не менее, в качестве простого обходного пути, я использовал этот пакет, который расширяет переменную Session в метеоре и сохраняет ее в локальном хранилище браузера через Amplify.

Стоит отметить, что Amplify поставляется с пабом / подсистемой, которая проста в использовании и может помочь подключить все внешние события.

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