Hey, I have a function that draws a composable,

@Composable
        fun home() : @Composable RowScope.() -> Unit {
            return {
                BottomNavigationItem(
                    icon = {
                        Icon(Icons.Filled.Home, "Home")
                    },
                    onClick = {},
                    selected = false,
                    label = {
                        Text("Home")
                    }
                )
            }
        }

That doesn’t draw it to the GUI I am calling it with

@Composable
fun App() {
    MaterialTheme {
        BottomAppBar {
            StaticAssets.BarButtons.home()
        }
    }
}

Does anyone know why it doesn’t work?

  • sebschaef@feddit.de
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    A Composable is not meant to return anything if it draws something. In your case it should look like this:

    @Composable
    fun Home() {
        BottomNavigationItem(...)
    }
    
    • SpyOP
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Found out why apparently you have to .invoke it because it needs to be in a rowscope