pub struct UseAnimation<Animated: AnimatedValue> { /* private fields */ }Expand description
Animate your elements. Use use_animation to use this.
Implementations§
Source§impl<Animated: AnimatedValue> UseAnimation<Animated>
impl<Animated: AnimatedValue> UseAnimation<Animated>
pub fn is_running(&self) -> State<bool>
pub fn has_run_yet(&self) -> State<bool>
Sourcepub fn run(&self, direction: AnimDirection)
pub fn run(&self, direction: AnimDirection)
Run the animation with a given AnimDirection
Methods from Deref<Target = State<Animated>>§
pub fn read(&self) -> <UnsyncStorage as AnyStorage>::Ref<'static, T>
pub fn read(&self) -> <UnsyncStorage as AnyStorage>::Ref<'static, T>
Read the current value and subscribe the current component to changes.
When the state value changes, any component or hook that has called read() will re-render.
§Example
let count = use_state(|| 0);
let current_value = count.read();pub fn peek(&self) -> <UnsyncStorage as AnyStorage>::Ref<'static, T>
pub fn peek(&self) -> <UnsyncStorage as AnyStorage>::Ref<'static, T>
Read the current value without subscribing to changes.
This method provides access to the current state value without registering the current component as a subscriber. The component will not re-render if the state changes.
§When to Use
Use peek() when you need to read the state value for a one-off operation where
reactivity is not needed, such as:
- Comparisons for conditional updates
- Debugging/logging
- Initial value checks
§Example
let count = use_state(|| 0);
// Check if count is zero without subscribing
if *count.peek() == 0 {
println!("Count is still zero");
}
// For reactive reading, use `read()` instead:
let display_text = format!("Count: {}", count.read());§Performance Note
Prefer read() over peek() unless you specifically need non-reactive access.
pub fn write_unchecked(&self) -> <UnsyncStorage as AnyStorage>::Mut<'static, T>
pub fn write_unchecked(&self) -> <UnsyncStorage as AnyStorage>::Mut<'static, T>
Get a mutable reference without requiring a mutable borrow of the State.
This is an advanced method that allows writing to the state without having
mutable access to the State itself. Use with caution as it bypasses Rust’s
borrow checker guarantees.
§Safety Considerations
This method should only be used when you cannot obtain a mutable reference
to the State but still need to modify it. Prefer write() when possible.
Trait Implementations§
Source§impl<Animated: Clone + AnimatedValue> Clone for UseAnimation<Animated>
impl<Animated: Clone + AnimatedValue> Clone for UseAnimation<Animated>
Source§fn clone(&self) -> UseAnimation<Animated>
fn clone(&self) -> UseAnimation<Animated>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<Animated: AnimatedValue> Deref for UseAnimation<Animated>
impl<Animated: AnimatedValue> Deref for UseAnimation<Animated>
Source§impl<Animated: PartialEq + AnimatedValue> PartialEq for UseAnimation<Animated>
impl<Animated: PartialEq + AnimatedValue> PartialEq for UseAnimation<Animated>
impl<T: AnimatedValue> Copy for UseAnimation<T>
impl<Animated: AnimatedValue> StructuralPartialEq for UseAnimation<Animated>
Auto Trait Implementations§
impl<Animated> Freeze for UseAnimation<Animated>
impl<Animated> !RefUnwindSafe for UseAnimation<Animated>
impl<Animated> !Send for UseAnimation<Animated>
impl<Animated> !Sync for UseAnimation<Animated>
impl<Animated> Unpin for UseAnimation<Animated>where
Animated: Unpin,
impl<Animated> !UnwindSafe for UseAnimation<Animated>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> ComponentProps for T
impl<T> ComponentProps for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more