Skip to content

Commit 1b54ad4

Browse files
committed
Update component requirement
- Include serialized inputs/outputs - Clarify inputs/outputs
1 parent 19a0757 commit 1b54ad4

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

rfcs/2024-05-21-ui-component-model.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,14 @@ In a FE context, “UI component” means a bundle of UI and behavior that toget
2424
- Components are **encapsulated** (P1)
2525
- A component may control its child tree, but not its siblings or parent
2626
- Components have **inputs**, and **outputs**
27-
- Components output **signals**, **events** and **UI** (P1)
28-
- Components can be understood as pure-ish functions that receive props and return a view description (we may allow cheats for local component state ala hooks)
2927
- Components are **black boxes**
30-
- Components are decoupled and only communicate via input and output channels.
28+
- Components are decoupled and only communicate through input and output channels.
29+
- Components can be understood as pure-ish functions that receive props and return a view description (we may allow cheats for local component state ala hooks)
30+
- Components can output **signals**, **event streams** and **UI** (P1)
3131
- Component inputs and outputs are **statically-typed** (P1)
3232
- E.g. via TypeScript
3333
- Allows the runtime to enforce data policies on component
34-
- Component inputs and outputs must be serializable data types
34+
- Component inputs and outputs must be **serializable** data types
3535
- Components have **local state** (P1)
3636
- State is encapsulated within component
3737
- Components may pass state down to child components as input

0 commit comments

Comments
 (0)