mirror of
https://github.com/yewstack/yew.git
synced 2025-12-08 21:26:25 +00:00
* 0.20 Changelog * Improve changelog generator * Add blog post * Add blog post * Apply suggestions from code review Co-authored-by: WorldSEnder <WorldSEnder@users.noreply.github.com> Co-authored-by: Julius Lungys <32368314+voidpumpkin@users.noreply.github.com> * update Changelog * update Cargo.toml * changelog gen compiles * website version 0.20 * add migration guides * prettier * i18n Co-authored-by: WorldSEnder <WorldSEnder@users.noreply.github.com> Co-authored-by: Julius Lungys <32368314+voidpumpkin@users.noreply.github.com>
25 lines
850 B
Plaintext
25 lines
850 B
Plaintext
---
|
|
title: 'Immutable Types'
|
|
description: 'Immutable data structures for Yew'
|
|
---
|
|
|
|
## What are immutable types?
|
|
|
|
These are types that you can instantiate but never mutate the values. In order
|
|
to update a value, you must instantiate a new value.
|
|
|
|
## Why using immutable types?
|
|
|
|
Properties, like in React, are propagated from ancestors to
|
|
children. This means that the properties must live when each component is
|
|
updated. This is why properties should —ideally— be cheap to clone. In order to
|
|
achieve this we usually wrap things in `Rc`.
|
|
|
|
Immutable types are a great fit for holding property's values because they can
|
|
be cheaply cloned when passed from component to component.
|
|
|
|
## Further reading
|
|
|
|
- [Immutable example](https://github.com/yewstack/yew/tree/master/examples/immutable)
|
|
- [Crate `implicit-clone`](https://docs.rs/implicit-clone/)
|