Struct UseAnimation
pub struct UseAnimation<Animated>where
Animated: AnimatedValue,{ /* private fields */ }Expand description
Animate your elements. Use use_animation to use this.
Implementations§
§impl<Animated> UseAnimation<Animated>where
Animated: AnimatedValue,
impl<Animated> UseAnimation<Animated>where
Animated: AnimatedValue,
pub fn get(&self) -> <UnsyncStorage as AnyStorage>::Ref<'static, Animated>
pub fn get(&self) -> <UnsyncStorage as AnyStorage>::Ref<'static, Animated>
Get the animated value.
pub fn start(&mut self)
pub fn start(&mut self)
Runs the animation normally.
pub fn reverse(&mut self)
pub fn reverse(&mut self)
Runs the animation in reverse direction.
pub fn reset(&mut self)
pub fn reset(&mut self)
Reset the animation with the initial state.
pub fn finish(&mut self)
pub fn finish(&mut self)
Finish the animation with the final state.
pub fn is_running(&self) -> State<bool>
pub fn has_run_yet(&self) -> State<bool>
pub fn run(&self, direction: AnimDirection)
pub fn run(&self, direction: AnimDirection)
Run the animation with a given AnimDirection
Methods from Deref<Target = State<Animated>>§
Sourcepub 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();Sourcepub 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.
Sourcepub 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§
§impl<Animated> Clone for UseAnimation<Animated>where
Animated: Clone + AnimatedValue,
impl<Animated> Clone for UseAnimation<Animated>where
Animated: Clone + AnimatedValue,
§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 more§impl<Animated> Deref for UseAnimation<Animated>where
Animated: AnimatedValue,
impl<Animated> Deref for UseAnimation<Animated>where
Animated: AnimatedValue,
§impl<Animated> PartialEq for UseAnimation<Animated>where
Animated: PartialEq + AnimatedValue,
impl<Animated> PartialEq for UseAnimation<Animated>where
Animated: PartialEq + AnimatedValue,
impl<T> Copy for UseAnimation<T>where
T: AnimatedValue,
impl<Animated> StructuralPartialEq for UseAnimation<Animated>where
Animated: AnimatedValue,
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,
Source§impl<T> ComponentProps for T
impl<T> ComponentProps for T
fn changed(&self, other: &(dyn ComponentProps + 'static)) -> bool
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§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