1
0
Fork 0
freesewing/sites/dev/docs/howtos/code/store
Joost De Cock ab3204f9f1 chore: Port FreeSewing.dev to docusaurus
The replaces the NextJS site powering FreeSewing.dev with a Docusaurus
setup. It's part of my efforts to simplify FreeSewing's setup so we can
focus on our core value proposition.
2024-09-28 13:13:48 +02:00
..
readme.mdx chore: Port FreeSewing.dev to docusaurus 2024-09-28 13:13:48 +02:00

---
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](/reference/api/store/), which is available
via _destructuring_ in your part's draft method.

Setting a value in one part:

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

  return part()
}
```

Reading a value in another part:

```mjs
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](/howtos/code/after).