1
0
Fork 0

feat(markdown): Ported code howtos to v3

This commit is contained in:
Joost De Cock 2022-10-12 14:42:45 +02:00
parent d1edf93750
commit af99d3e8c0
25 changed files with 451 additions and 636 deletions

View file

@ -1,33 +1,49 @@
---
title: Sharing data between parts
for: developers
about: Shows how you use the pattern store to share 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.
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
the [shorthand](/howtos/code/shorthand/) call:
For this, you should use the [Store](/reference/api/store/), which is available
via _destructuring_ in your part's draft method.
```js
export default function(part) {
let { store } = part.shorthand();
store.set('hello', 'world');
Setting a value in one part:
return part();
```mjs
function draftPartA({
// highlight-start
store,
// highlight-end
part,
}) {
// highlight-start
store.set('hello', 'world')
// highlight-end
return part()
}
```
```js
export default function(part) {
let { store } = part.shorthand();
store.get('hello'); // Returns 'world'
Reading a value in another part:
return 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 [pattern configuration](/reference/api/config/).
should reflect that in the [part dependencies](/howtos/code/after).