1
0
Fork 0
freesewing/sites/dev/docs/howtos/code/store/readme.mdx
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

49 lines
1 KiB
Text

---
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).