feat: make hooks free-functions
This commit is contained in:
1 parent
f782e14211
commit
e5c88fe3a4
13 files changed
+373
-323
No files matched your search
+1
-1
@@ -12,7 +12,7 @@ pub static App: FC<()> = |cx| {
|
||||
let mut direction = use_state(cx, || 1);
|
||||
|
||||
let (async_count, dir) = (count.for_async(), *direction);
|
||||
let (task, _result) = cx.use_task(move || async move {
|
||||
let (task, _result) = use_task(cx, move || async move {
|
||||
loop {
|
||||
gloo_timers::future::TimeoutFuture::new(250).await;
|
||||
*async_count.get_mut() += dir;
|
||||
|
||||
@@ -32,13 +32,13 @@ static App: FC<()> = |cx| {
|
||||
let p2 = use_state(cx, || 0);
|
||||
|
||||
let (mut p1_async, mut p2_async) = (p1.for_async(), p2.for_async());
|
||||
let (p1_handle, _) = cx.use_task(|| async move {
|
||||
let (p1_handle, _) = use_task(cx, || async move {
|
||||
loop {
|
||||
*p1_async.get_mut() += 1;
|
||||
async_std::task::sleep(std::time::Duration::from_millis(75)).await;
|
||||
}
|
||||
});
|
||||
let (p2_handle, _) = cx.use_task(|| async move {
|
||||
let (p2_handle, _) = use_task(cx, || async move {
|
||||
loop {
|
||||
*p2_async.get_mut() += 1;
|
||||
async_std::task::sleep(std::time::Duration::from_millis(100)).await;
|
||||
|
||||
@@ -15,7 +15,8 @@ struct DogApi {
|
||||
const ENDPOINT: &str = "https://dog.ceo/api/breeds/image/random";
|
||||
|
||||
pub static Example: FC<()> = |cx| {
|
||||
let doggo = cx.use_suspense(
|
||||
let doggo = use_suspense(
|
||||
cx,
|
||||
|| surf::get(ENDPOINT).recv_json::<DogApi>(),
|
||||
|cx, res| match res {
|
||||
Ok(res) => rsx!(in cx, img { src: "{res.message}" }),
|
||||
|
||||
@@ -30,7 +30,7 @@ pub static Example: FC<()> = |cx| {
|
||||
|
||||
// Tasks are 'static, so we need to copy relevant items in
|
||||
let (async_count, dir) = (count.for_async(), *direction);
|
||||
let (task, result) = cx.use_task(move || async move {
|
||||
let (task, result) = use_task(cx, move || async move {
|
||||
// Count infinitely!
|
||||
loop {
|
||||
gloo_timers::future::TimeoutFuture::new(250).await;
|
||||
|
||||
Reference in new issue
Block a user