seitu 0.16.0 → 0.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +9 -9
- package/skills/README.md +30 -53
- package/skills/seitu/SKILL.md +92 -0
- package/skills/{create-computed/SKILL.md → seitu/references/create-computed.md} +2 -15
- package/skills/{create-debounced-fn/SKILL.md → seitu/references/create-debounced-fn.md} +2 -15
- package/skills/{create-debounced/SKILL.md → seitu/references/create-debounced.md} +2 -15
- package/skills/{create-indexed-db-storage/SKILL.md → seitu/references/create-indexed-db-storage.md} +2 -15
- package/skills/{create-is-online/SKILL.md → seitu/references/create-is-online.md} +2 -15
- package/skills/{create-media-query/SKILL.md → seitu/references/create-media-query.md} +2 -15
- package/skills/{create-readable-subscription/SKILL.md → seitu/references/create-readable-subscription.md} +2 -15
- package/skills/{create-schema-store/SKILL.md → seitu/references/create-schema-store.md} +2 -15
- package/skills/{create-scroll-state/SKILL.md → seitu/references/create-scroll-state.md} +2 -15
- package/skills/{create-store/SKILL.md → seitu/references/create-store.md} +2 -15
- package/skills/{create-subscription/SKILL.md → seitu/references/create-subscription.md} +2 -14
- package/skills/{create-throttled-fn/SKILL.md → seitu/references/create-throttled-fn.md} +2 -15
- package/skills/{create-throttled/SKILL.md → seitu/references/create-throttled.md} +2 -15
- package/skills/{create-web-storage-value/SKILL.md → seitu/references/create-web-storage-value.md} +2 -15
- package/skills/{create-web-storage/SKILL.md → seitu/references/create-web-storage.md} +3 -17
- package/skills/{use-subscription-react/SKILL.md → seitu/references/react.md} +53 -24
- package/skills/{use-subscription-solid/SKILL.md → seitu/references/solid.md} +54 -26
- package/skills/{use-subscription-svelte/SKILL.md → seitu/references/svelte.md} +8 -20
- package/skills/{use-subscription-vue/SKILL.md → seitu/references/vue.md} +9 -20
- package/skills/seitu-overview/SKILL.md +9 -7
- package/skills/subscription-react/SKILL.md +0 -96
- package/skills/subscription-solid/SKILL.md +0 -97
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: subscription-solid
|
|
3
|
-
description: >-
|
|
4
|
-
Render-prop Subscription component for Solid.
|
|
5
|
-
type: framework
|
|
6
|
-
library: seitu
|
|
7
|
-
library_version: "0.16.0"
|
|
8
|
-
requires:
|
|
9
|
-
- seitu-overview
|
|
10
|
-
- use-subscription-solid
|
|
11
|
-
sources:
|
|
12
|
-
- letstri/seitu:docs/content/docs/solid/components.mdx
|
|
13
|
-
- letstri/seitu:seitu/src/solid/components.ts
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# Subscription (Solid component)
|
|
17
|
-
|
|
18
|
-
Declarative render-prop component from `seitu/solid`. The children function runs once and
|
|
19
|
-
receives a Solid `Accessor<R>` — read it with `value()` so updates stay fine-grained.
|
|
20
|
-
|
|
21
|
-
```tsx
|
|
22
|
-
import { Subscription } from 'seitu/solid'
|
|
23
|
-
|
|
24
|
-
<Subscription value={storage}>
|
|
25
|
-
{value => <div>{value().count}</div>}
|
|
26
|
-
</Subscription>
|
|
27
|
-
|
|
28
|
-
<Subscription value={storage} selector={v => v.count}>
|
|
29
|
-
{count => <div>{count()}</div>}
|
|
30
|
-
</Subscription>
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Props
|
|
34
|
-
|
|
35
|
-
| Prop | Type | Description |
|
|
36
|
-
|------|------|-------------|
|
|
37
|
-
| `value` | `Subscribable & Readable` | The reactive source |
|
|
38
|
-
| `selector?` | `(value) => R` | Optional selector for granular updates |
|
|
39
|
-
| `children` | `(value: Accessor<R>) => JSX.Element` | Render function receiving an accessor |
|
|
40
|
-
|
|
41
|
-
## Common Mistakes
|
|
42
|
-
|
|
43
|
-
### [CRITICAL] Treating children's argument as a value, not an accessor
|
|
44
|
-
|
|
45
|
-
Wrong:
|
|
46
|
-
|
|
47
|
-
```tsx
|
|
48
|
-
<Subscription value={store}>
|
|
49
|
-
{value => <div>{value.count}</div>}
|
|
50
|
-
</Subscription>
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
Correct:
|
|
54
|
-
|
|
55
|
-
```tsx
|
|
56
|
-
<Subscription value={store}>
|
|
57
|
-
{value => <div>{value().count}</div>}
|
|
58
|
-
</Subscription>
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
Unlike React, the children function runs once and receives a Solid `Accessor`; call it (`value()`) inside JSX.
|
|
62
|
-
|
|
63
|
-
### [LOW] Preferring the component over the primitive without reason
|
|
64
|
-
|
|
65
|
-
Wrong:
|
|
66
|
-
|
|
67
|
-
```tsx
|
|
68
|
-
<Subscription value={s}>{v => <Child value={v()} />}</Subscription>
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
Correct:
|
|
72
|
-
|
|
73
|
-
```tsx
|
|
74
|
-
const v = useSubscription(s); return <Child value={v()} />
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
`useSubscription` is simpler for most cases; `Subscription` is for render-prop composition.
|
|
78
|
-
|
|
79
|
-
### [CRITICAL] Importing from seitu/react in Solid
|
|
80
|
-
|
|
81
|
-
Wrong:
|
|
82
|
-
|
|
83
|
-
```ts
|
|
84
|
-
import { Subscription } from 'seitu/react'
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
Correct:
|
|
88
|
-
|
|
89
|
-
```ts
|
|
90
|
-
import { Subscription } from 'seitu/solid'
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
The React component relies on React internals; Solid apps must use `seitu/solid`.
|
|
94
|
-
|
|
95
|
-
## Source
|
|
96
|
-
|
|
97
|
-
`src/solid/components.ts`
|