
Bounce
4 | 5 | 18 | 19 | Bounce is a state-management library focusing on simplicity and 20 | performance. 21 | 22 | Bounce is inspired by [Redux](https://github.com/reduxjs/redux) and 23 | [Recoil](https://github.com/facebookexperimental/Recoil). 24 | 25 | ## Rationale 26 | 27 | Yew state management solutions that are currently available all have 28 | some (or all) of the following limitations: 29 | 30 | - Too much boilerplate. 31 | 32 | Users either have to manually control whether to notify 33 | subscribers or have to manually define contexts. 34 | 35 | - State change notifies all. 36 | 37 | State changes will notify all subscribers. 38 | 39 | - Needless clones. 40 | 41 | A clone of the state will be produced for all subscribers whenever 42 | there's a change. 43 | 44 | Bounce wants to be a state management library that: 45 | 46 | - Has minimal boilerplate. 47 | 48 | Changes are automatically detected via `PartialEq`. 49 | 50 | - Only notifies relevant subscribers. 51 | 52 | When a state changes, only hooks that subscribe to that state will 53 | be notified. 54 | 55 | - Reduces Cloning. 56 | 57 | States are `Rc`'ed. 58 | 59 | ## Installation 60 | 61 | You can add it to your project with the following command: 62 | 63 | ```shell 64 | cargo add bounce 65 | ``` 66 | 67 | You can also add it to the `Cargo.toml` of your project manually: 68 | 69 | ```toml 70 | bounce = "0.9" 71 | ``` 72 | 73 | ## Getting Started 74 | 75 | If you want to learn more about Bounce, you can check out the 76 | [tutorial](./tutorial.md) and the [API documentation](https://docs.rs/bounce/). 77 | 78 | ## Licence 79 | 80 | Bounce is dual licensed under the MIT license and the Apache License (Version 2.0). 81 | -------------------------------------------------------------------------------- /book-src/SUMMARY.md: -------------------------------------------------------------------------------- 1 | # SUMMARY 2 | 3 | # Getting Started 4 | 5 | - [Introduction](./README.md) 6 | - [Tutorial](./tutorial.md) 7 | 8 | # Reference 9 | 10 | - [Core API](./core-api.md) 11 | - [Helmet API](./helmet-api.md) 12 | - [Query API](./query-api.md) 13 | -------------------------------------------------------------------------------- /book-src/helmet-api.md: -------------------------------------------------------------------------------- 1 | # Helmet API 2 | 3 | The Helmet API is an API to manipulate elements resided in the `