yew/website/versioned_docs/version-0.21/concepts/html/conditional-rendering.mdx
Muhammad Hamza 5e823e729d
Prepare for 0.21 release (#3412)
* Update CHANGELOG

Changelog run: https://github.com/yewstack/yew/actions/runs/6283917852/job/17064800916

* docusaurus docs:version 0.21

* migration guide

* blog post

* prettier

* make website warnings go away

* make GA work

* Apply suggestions from code review

* Apply suggestion from review

Co-authored-by: Kaede Hoshikawa <futursolo@users.noreply.github.com>

* prettier

---------

Co-authored-by: Kaede Hoshikawa <futursolo@users.noreply.github.com>
2023-09-29 19:10:07 +09:00

74 lines
1.1 KiB
Plaintext

---
title: 'Conditional rendering'
description: 'Rendering nodes conditionally in html!'
---
import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
## If blocks
To conditionally render some markup, we wrap it in an `if` block:
<Tabs>
<TabItem value="if" label="if">
```rust
use yew::prelude::*;
html! {
if true {
<p>{ "True case" }</p>
}
};
```
</TabItem>
<TabItem value="if - else" label="if - else">
```rust
use yew::prelude::*;
let some_condition = true;
html! {
if some_condition {
<p>{ "True case" }</p>
} else {
<p>{ "False case" }</p>
}
};
```
</TabItem>
<TabItem value="if let" label="if let">
```rust
use yew::prelude::*;
let some_text = Some("text");
html! {
if let Some(text) = some_text {
<p>{ text }</p>
}
};
```
</TabItem>
<TabItem value="if let else" label="if let else">
```rust
use yew::prelude::*;
let some_text = Some("text");
html! {
if let Some(text) = some_text {
<p>{ text }</p>
} else {
<p>{ "False case" }</p>
}
};
```
</TabItem>
</Tabs>