기둝을 μ•ˆν•΄λ‘λ‹ˆ μ†ŒμŠ€μ½”λ“œ νžˆμŠ€ν† λ¦¬ λ’€μ§€κ³  ꡬ글링 λ‹€μ‹œν•˜κ³  λ‚œλ¦¬λ‚˜μ„œ μž‘μ„±ν•΄λ‘”λ‹€. γ… γ… 
svelte storeλŠ” λŒ€λ‹¨νžˆ μœ μ—°ν•˜κ²Œ μ½”λ“œλ₯Ό μž‘μ„±ν•˜κ³  μ‚¬μš©ν•  수 μžˆλ‹€.

custom store

μ»€μŠ€ν…€ κΈ°λŠ₯으둜 μŠ€ν† μ–΄λ₯Ό λ§Œλ“€ 수 μžˆλ‹€. μžλ™ ꡬ독기λŠ₯을 μ‚¬μš©ν•  수 있게 ν•˜λŠ” 뢀뢄이 λŒ€λ‹¨νžˆ μ€‘μš”ν•˜λ‹€.
값을 λ³€κ²½ν•˜λ©΄μ„œ 쀑간에 νŠΉμ • κΈ°λŠ₯을 μ‹€ν–‰ν•˜λŠ”λ“―ν•œ κΈ°λŠ₯을 μΆ”κ°€ν• λ•Œ μœ μš©ν•  것이닀. (값이 λ³€ν• λ•Œλ§ˆλ‹€ μŠ€ν† λ¦¬μ§€ μ—…λ°μ΄νŠΈ ν•˜κ±°λ‚˜ history 객체 μ‘°μž‘μ΄λ‚˜ api 톡신.. λ“±λ“±)

// store.js

function createKeyword()
{
  const { subscribe, set, update } = writable(window.localStorage.getItem('key-name') || '')
  return {
    subscribe,
    set: (newValue) => {
      set(newValue)
    },
    update: (newValue => update((oldValue) => {
      if (newValue === oldValue) return oldValue
      window.localStorage.setItem('key-name', newValue)
      return newValue
    })),
    customAction: () => {
      console.log('call customAction()')
    },
  }
}

export const keyword = createKeyword()

μŠ€ν† μ–΄λ₯Ό μ‚¬μš©ν•˜λŠ”λ²•μ€ λ‹€μŒκ³Ό κ°™λ‹€.

<!-- view.svelte -->

<p>{$keyword}</p>

<script>
import { keyword } from 'store.js'

function func()
{
  $keyword = 'fooo'
  keyword.customAction()
}
</script>

메타데이터

쑰회수
357
μ’‹μ•„μš”
0

0개의 λŒ“κΈ€

λ“±λ‘λœ λŒ“κΈ€μ΄ μ—†μŠ΅λ‹ˆλ‹€.