diff --git a/CHANGELOG.md b/CHANGELOG.md index 3864c95b4..0e5e6468f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 _No unreleased changes_ +## [2.5.0-pre11] - 2024-02-19 + +### Fixed +- Recreate component on arg change by @TimLariviere (https://github.com/fabulous-dev/Fabulous/pull/1069) + ## [2.5.0-pre10] - 2024-02-19 ### Fixed @@ -105,7 +110,8 @@ _No unreleased changes_ ### Changed - Fabulous.XamarinForms & Fabulous.MauiControls have been moved been out of the Fabulous repository. Find them in their own repositories: [https://github.com/fabulous-dev/Fabulous.XamarinForms](https://github.com/fabulous-dev/Fabulous.XamarinForms) / [https://github.com/fabulous-dev/Fabulous.MauiControls](https://github.com/fabulous-dev/Fabulous.MauiControls) -[unreleased]: https://github.com/fabulous-dev/Fabulous/compare/2.5.0-pre10...HEAD +[unreleased]: https://github.com/fabulous-dev/Fabulous/compare/2.5.0-pre11...HEAD +[2.5.0-pre11]: https://github.com/fabulous-dev/Fabulous/releases/tag/2.5.0-pre11 [2.5.0-pre10]: https://github.com/fabulous-dev/Fabulous/releases/tag/2.5.0-pre10 [2.5.0-pre9]: https://github.com/fabulous-dev/Fabulous/releases/tag/2.5.0-pre9 [2.5.0-pre8]: https://github.com/fabulous-dev/Fabulous/releases/tag/2.5.0-pre8 diff --git a/src/Fabulous/MvuComponent.fs b/src/Fabulous/MvuComponent.fs index 502e278c5..39b9d3886 100644 --- a/src/Fabulous/MvuComponent.fs +++ b/src/Fabulous/MvuComponent.fs @@ -89,18 +89,18 @@ module MvuComponent = let Data = Attributes.defineSimpleScalar "MvuComponent_Data" ScalarAttributeComparers.noCompare (fun _ _ _ -> ()) - + let canReuseMvuComponent (prev: Widget) (curr: Widget) = let prevData = match prev.ScalarAttributes with | ValueSome attrs when attrs.Length > 0 -> attrs[0].Value :?> MvuComponentData | _ -> failwith "Component widget must have a body" - + let currData = match curr.ScalarAttributes with | ValueSome attrs when attrs.Length > 0 -> attrs[0].Value :?> MvuComponentData | _ -> failwith "Component widget must have a body" - + // NOTE: Somehow using = here crashes the app and prevents debugging... Object.Equals(prevData.Arg, currData.Arg)