Skip to main content

Не всё состояние приложения находится только внутри компонентов вашего приложения. Иногда у вас будут значения, к которым нужно обращаться сразу нескольким независимым компонентам или стандартным JavaScript модулям.

В Svelte для этого существуют хранилища. Хранилище — это просто объект с методом subscribe, который позволяет всем заинтересованным сторонам получать уведомления при каждом изменении значения в хранилище. В компоненте App.svelte у нас есть хранилище count, где в callback-функции у count.subscribe мы устанавливаем значение переменной countValue.

Перейдите на вкладку stores.js, чтобы увидеть определение count. Это доступное для записи writable хранилище, т.е. кроме метода subscribe у него также есть set и update.

Теперь перейдите на вкладку Incrementer.svelte, чтобы описать логику кнопки +:

function increment() {
  count.update((n) => n + 1);
}

Нажатие кнопки + теперь будет обновлять count. Сделайте аналогичную реализацию для кнопки - на вкладке Decrementer svelte.

Наконец, в Resetter.svelte, реализуйте reset:

function reset() {
  count.set(0);
}