From 9332226babb788ec8e2c62db5c93bd2e38a8ac61 Mon Sep 17 00:00:00 2001 From: WorldSEnder Date: Mon, 7 Nov 2022 07:17:47 +0100 Subject: [PATCH] add ability to update app props --- packages/yew/src/app_handle.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/packages/yew/src/app_handle.rs b/packages/yew/src/app_handle.rs index bcd330e9e73..4b407ee9146 100644 --- a/packages/yew/src/app_handle.rs +++ b/packages/yew/src/app_handle.rs @@ -46,6 +46,21 @@ where app } + /// Update the properties of the app's root component. + /// + /// This can be an alternative to sending and handling messages. The existing component will be + /// reused and have its properties updates. This will presumably trigger a re-render, refer to + /// the [`changed`] lifecycle for details. + /// + /// [`changed`]: crate::Component::changed + #[tracing::instrument( + level = tracing::Level::DEBUG, + skip_all, + )] + pub fn update(&mut self, new_props: COMP::Properties) { + self.scope.reuse(Rc::new(new_props), NodeRef::default()) + } + /// Schedule the app for destruction #[tracing::instrument( level = tracing::Level::DEBUG,