File tree Expand file tree Collapse file tree 4 files changed +6
-4
lines changed Expand file tree Collapse file tree 4 files changed +6
-4
lines changed Original file line number Diff line number Diff line change @@ -473,7 +473,7 @@ impl IntoClass for Arc<str> {
473473
474474 fn rebuild ( self , state : & mut Self :: State ) {
475475 let ( el, prev) = state;
476- if ! Arc :: ptr_eq ( & self , prev) {
476+ if self != * prev {
477477 Rndr :: set_attribute ( el, "class" , & self ) ;
478478 }
479479 * prev = self ;
Original file line number Diff line number Diff line change @@ -292,7 +292,7 @@ impl InnerHtmlValue for Arc<str> {
292292 }
293293
294294 fn rebuild ( self , state : & mut Self :: State ) {
295- if ! Arc :: ptr_eq ( & self , & state. 1 ) {
295+ if self != state. 1 {
296296 Rndr :: set_inner_html ( & state. 0 , & self ) ;
297297 state. 1 = self ;
298298 }
Original file line number Diff line number Diff line change @@ -211,18 +211,20 @@ where
211211 let ( name, mut f) = self ;
212212 // Name might've updated:
213213 state. name = name;
214+ let mut first_run = true ;
214215 state. effect = RenderEffect :: new_with_value (
215216 move |prev| {
216217 let include = * f. invoke ( ) . borrow ( ) ;
217218 match prev {
218219 Some ( ( class_list, prev) ) => {
219220 if include {
220- if !prev {
221+ if !prev || first_run {
221222 Rndr :: add_class ( & class_list, name) ;
222223 }
223224 } else if prev {
224225 Rndr :: remove_class ( & class_list, name) ;
225226 }
227+ first_run = false ;
226228 ( class_list. clone ( ) , include)
227229 }
228230 None => {
Original file line number Diff line number Diff line change @@ -372,7 +372,7 @@ impl Render for Arc<str> {
372372
373373 fn rebuild ( self , state : & mut Self :: State ) {
374374 let ArcStrState { node, str } = state;
375- if ! Arc :: ptr_eq ( & self , str) {
375+ if self != * str {
376376 Rndr :: set_text ( node, & self ) ;
377377 * str = self ;
378378 }
You can’t perform that action at this time.
0 commit comments