wip: docs and router

This commit is contained in:
Jonathan Kelley committed 2021-11-19 00:49:04 -05:00
1 parent 8bf57dc21d
commit a5f05d73ac
50 files changed
+1263 -234

No files matched your search

+1 -1
View File
@@ -12,7 +12,7 @@ https://github.com/rustwasm/gloo
For example, resize observer would function like this:
```rust
pub static Example: FC<()> = |(cx, props)|{
pub static Example: FC<()> = |cx, props|{
let observer = use_resize_observer();
cx.render(rsx!(
+5 -5
View File
@@ -153,13 +153,13 @@ Notice that LiveComponent receivers (the client-side interpretation of a LiveCom
The `VNodeTree` type is a very special type that allows VNodes to be created using a pluggable allocator. The html! macro creates something that looks like:
```rust
pub static Example: FC<()> = |(cx, props)|{
pub static Example: FC<()> = |cx, props|{
html! { <div> "blah" </div> }
};
// expands to...
pub static Example: FC<()> = |(cx, props)|{
pub static Example: FC<()> = |cx, props|{
// This function converts a Fn(allocator) -> DomTree closure to a VNode struct that will later be evaluated.
html_macro_to_vnodetree(move |allocator| {
let mut node0 = allocator.alloc(VElement::div);
@@ -313,7 +313,7 @@ Here's how react does it:
Any "dirty" node causes an entire subtree render. Calling "setState" at the very top will cascade all the way down. This is particularly bad for this component design:
```rust
static APP: FC<()> = |(cx, props)|{
static APP: FC<()> = |cx, props|{
let title = use_context(Title);
cx.render(html!{
<div>
@@ -334,7 +334,7 @@ static APP: FC<()> = |(cx, props)|{
</div>
})
};
static HEAVY_LIST: FC<()> = |(cx, props)|{
static HEAVY_LIST: FC<()> = |cx, props|{
cx.render({
{0.100.map(i => <BigElement >)}
})
@@ -378,7 +378,7 @@ struct Props {
}
static Component: FC<Props> = |(cx, props)|{
static Component: FC<Props> = |cx, props|{
}
```