1
0
Fork 0
freesewing/markdown/dev/howtos/code/store/en.md
2022-10-12 14:42:45 +02:00

1 KiB

title
Sharing data between parts

Sometimes, you'll want to access data from one part into another part. For example, you may store the length of the armhole in your front and back parts, and then read that value when drafting the sleeve so you can verify the sleeve fits the armhole.

For this, you should use the Store, which is available via destructuring in your part's draft method.

Setting a value in one part:

function draftPartA({
  // highlight-start
  store,
  // highlight-end
  part,
}) {
  // highlight-start
  store.set('hello', 'world')
  // highlight-end

  return part()
}

Reading a value in another part:

function draftPartB({
  // highlight-start
  store,
  // highlight-end
  part,
}) {
  // highlight-start
  const value = store.get('hello')
  // value now contains 'world'
  // highlight-end

  return part()
}

In a case like this, the order in which parts are drafted becomes important, so you should reflect that in the part dependencies.