Svelte: 임의의 저장소 배열을 기반으로 하는 파생 저장소

2852 단어 svelte
길이를 반드시 알 수 없는 상점 배열이 있다고 가정합니다. 이러한 배열 값이 변경될 때 값을 업데이트하는 derived 저장소를 생성하려고 합니다. 파생된 저장소 구문은 이것이 수행되는 방법에 대해 약간 둔하지만 가능합니다. 다음은 예입니다.

import { writable } from "svelte/store"

const storeArray = [writable(1), writable(1), writable(1)]

const derivedStore = derived(storeArray, ([...arr]) => {
  // Do stuff with your array of stores
  // e.g., this code will set the derived store's value to true whenever all the stores are greater than 10:
  return arr.every(item => item > 10);
});


여기에서 ... 스프레드 구문을 사용하면 derived 생성자의 콜백 함수에 여러 저장소를 전달할 수 있습니다.

주의 사항 - 새 항목이 상점 배열에 추가되거나 배열 자체가 다시 선언되는 경우 파생된 상점은 알림을 받지 않습니다. 이를 위해 어레이 자체를 저장소로 만들고 변경할 때마다 setupdate를 사용할 수 있습니다.

storeArray = writable(storeArray)
const derivedStore = derived(
  [storeArray, ...storeArray], 
  ([...arr]) => {
    // arr[0] is the array itself, and arr.slice(1) contains the contents
  }
);

좋은 웹페이지 즐겨찾기