concept: integrate signals
This commit is contained in:
1 parent
7665f2c6cf
commit
93900aac44
10 files changed
+203
-91
No files matched your search
@@ -25,15 +25,17 @@ If you know React, then you already know Dioxus.
|
||||
|
||||
### **Things you'll love ❤️:**
|
||||
|
||||
- Ergonomic design
|
||||
- Minimal boilerplate
|
||||
- **Ergonomic** design
|
||||
- **Minimal** boilerplate
|
||||
- Familiar design and semantics
|
||||
- Simple build, test, and deploy
|
||||
- Compile-time correct templating
|
||||
- Support for html! and rsx! templating
|
||||
- **Compile-time correct** templating
|
||||
- Support for **fine-grained reactivity**
|
||||
- Support for **html!** and **rsx!** templating
|
||||
- SSR, WASM, desktop, and mobile support
|
||||
- Powerful and simple integrated state management
|
||||
- Rust! (enums, static types, modules, efficiency)
|
||||
- Support for **asynchronous** batched rendering
|
||||
- Powerful and simple **integrated state management**
|
||||
- **Rust!** (enums, static types, modules, efficiency)
|
||||
|
||||
## Get Started with...
|
||||
|
||||
@@ -96,27 +98,28 @@ Dioxus is heavily inspired by React, but we want your transition to feel like an
|
||||
|
||||
### Phase 1: The Basics
|
||||
|
||||
| Feature | Dioxus | React | Notes for Dioxus |
|
||||
| ---------------------- | ------ | ----- | ------------------------------------------------ |
|
||||
| Conditional Rendering | ✅ | ✅ | if/then to hide/show component |
|
||||
| Map, Iterator | ✅ | ✅ | map/filter/reduce rsx! |
|
||||
| Keyed Components | ✅ | ✅ | advanced diffing with keys |
|
||||
| Web | ✅ | ✅ | renderer for web browser |
|
||||
| Desktop (webview) | ✅ | ✅ | renderer for desktop |
|
||||
| Context | ✅ | ✅ | share state through the tree |
|
||||
| Hook | ✅ | ✅ | memory cells in components |
|
||||
| SSR | ✅ | ✅ | render directly to string |
|
||||
| Runs natively | ✅ | ❓ | runs as a portable binary w/o a runtime (Node) |
|
||||
| Component Children | ✅ | ✅ | cx.children() as a list of nodes |
|
||||
| Null components | ✅ | ✅ | allow returning no components |
|
||||
| No-div components | ✅ | ✅ | components that render components |
|
||||
| Fragments | ✅ | ✅ | rsx! can return multiple elements without a root |
|
||||
| Manual Props | ✅ | ✅ | Manually pass in props with spread syntax |
|
||||
| Controlled Inputs | ✅ | ✅ | stateful wrappers around inputs |
|
||||
| Suspense | 🛠 | 🛠 | schedule future render from future/promise |
|
||||
| 1st class global state | 🛠 | ✅ | redux/recoil/mobx on top of context |
|
||||
| CSS/Inline Styles | 🛠 | ✅ | syntax for inline styles/attribute groups[2] |
|
||||
| NodeRef | 🛠 | ✅ | gain direct access to nodes [1] |
|
||||
| Feature | Dioxus | React | Notes for Dioxus |
|
||||
| ----------------------- | ------ | ----- | ------------------------------------------------ |
|
||||
| Conditional Rendering | ✅ | ✅ | if/then to hide/show component |
|
||||
| Map, Iterator | ✅ | ✅ | map/filter/reduce rsx! |
|
||||
| Keyed Components | ✅ | ✅ | advanced diffing with keys |
|
||||
| Web | ✅ | ✅ | renderer for web browser |
|
||||
| Desktop (webview) | ✅ | ✅ | renderer for desktop |
|
||||
| Context | ✅ | ✅ | share state through the tree |
|
||||
| Hook | ✅ | ✅ | memory cells in components |
|
||||
| SSR | ✅ | ✅ | render directly to string |
|
||||
| Runs natively | ✅ | ❓ | runs as a portable binary w/o a runtime (Node) |
|
||||
| Component Children | ✅ | ✅ | cx.children() as a list of nodes |
|
||||
| Null components | ✅ | ✅ | allow returning no components |
|
||||
| No-div components | ✅ | ✅ | components that render components |
|
||||
| Fragments | ✅ | ✅ | rsx! can return multiple elements without a root |
|
||||
| Manual Props | ✅ | ✅ | Manually pass in props with spread syntax |
|
||||
| Controlled Inputs | ✅ | ✅ | stateful wrappers around inputs |
|
||||
| Fine-grained reactivity | 🛠 | ❓ | Skip diffing for fine-grain updates |
|
||||
| Suspense | 🛠 | 🛠 | schedule future render from future/promise |
|
||||
| 1st class global state | 🛠 | ✅ | redux/recoil/mobx on top of context |
|
||||
| CSS/Inline Styles | 🛠 | ✅ | syntax for inline styles/attribute groups[2] |
|
||||
| NodeRef | 🛠 | ✅ | gain direct access to nodes [1] |
|
||||
|
||||
- [1] Currently blocked until we figure out a cross-platform way of exposing an imperative Node API.
|
||||
- [2] Would like to solve this in a more general way. Something like attribute groups that's not styling-specific.
|
||||
|
||||
Reference in new issue
Block a user