--- title: 'State' --- ## General view of how to store state This table can be used as a guide when deciding what state storing type fits best for your use case: | Hook | Type | Rerender when? | Scope | | ------------------------ | -------------------------- | ---------------------------- | ------------------- | | [use_state] | `T` | got set | component instance | | [use_state_eq] | `T: PartialEq` | got set with diff. value | component instance | | [use_reducer] | `T: Reducible` | got reduced | component instance | | [use_reducer_eq] | `T: Reducible + PartialEq` | got reduced with diff. value | component instance | | [use_memo] | `Deps -> T` | dependencies changed | component instance | | [use_callback] | `Deps -> Callback` | dependencies changed | component instance | | [use_mut_ref] | `T` | - | component instance | | a static global variable | `T` | - | global, used by all | [use_state]: https://yew-rs-api.web.app/next/yew/functional/fn.use_state.html [use_state_eq]: https://yew-rs-api.web.app/next/yew/functional/fn.use_state_eq.html [use_reducer]: https://yew-rs-api.web.app/next/yew/functional/fn.use_reducer.html [use_reducer_eq]: https://yew-rs-api.web.app/next/yew/functional/fn.use_reducer_eq.html [use_memo]: https://yew-rs-api.web.app/next/yew/functional/fn.use_memo.html [use_callback]: https://yew-rs-api.web.app/next/yew/functional/fn.use_callback.html [use_mut_ref]: https://yew-rs-api.web.app/next/yew/functional/fn.use_mut_ref.html