2022年7月11日月曜日

Calling getBackStackEntry during composition without using remember with a NavBackStackEntry key といわれたら

NavHost(...) { composable(...) { val parentEntry = remember { navController.getBackStackEntry(route) } ... } } Navigation 2.5.0-rc01 から上記コードは lint error になり、「Calling getBackStackEntry during composition without using remember with a NavBackStackEntry key」といわれます。
この変更については https://issuetracker.google.com/issues/227382831 に書かれています。

修正するには、composable の lambda に渡される BackStackEntry を remember の key として渡します。 NavHost(...) { composable(...) { entry -> val parentEntry = remember(entry) { navController.getBackStackEntry(route) } ... } }

0 件のコメント:

コメントを投稿