'"Result of 'MainView' initializer is unused" -- trying to filter NavigationView in SwiftUI

I am trying to piece together a custom NavigationView in SwiftUI with Buttons for filtering. In this simple step I am just trying to change '.navigationTitle(title)' through filtering with three buttons ('header1', 'header2', 'header3'), however it is not working.

You can find a visual of this code here

ContentView:

struct ContentView: View {
 var body: some View {
     MainView(filter: .header1)
 }
}

MainView:

struct MainView: View {
    enum SourceType {
        case header1, header2, header3
    }
    
    @EnvironmentObject var sourceItems: SourceItems
    
    let filter: SourceType
    
    var body: some View {
        
        NavigationView {
            List {
                HeaderView()
                ForEach(0..<10) { sourceItem in
                    NavigationLink(destination: Text("Destination")) {
                        Text("Item: \(sourceItem)")
                    }
                }
            }
            
            .listStyle(.inset)
            .navigationTitle(title) // I am trying to make this change
            
        }
    }
    
    var title: String {
        switch filter {
        case .header1:
            return "Header 1"
        case .header2:
            return "Header 2"
        case .header3:
            return "Header 3"
        }
    }
}

struct MainView_Previews: PreviewProvider {
    static var previews: some View {
        MainView(filter: .header1)
            .environmentObject(SourceItems())
    }
}

HeaderView (This is where I get the warnings):

struct HeaderView: View {
    @StateObject var sourceItems = SourceItems()
    
    var body: some View {
        HStack {
            Button(action: {
                MainView(filter: .header1)
            }, label: {
                    Text("Header 1")
            })
            .buttonStyle(PlainButtonStyle())
            
            Spacer()
            
            Button(action: {
                MainView(filter: .header2)
            }, label: {
                    Text("Header 2")
            })
            .buttonStyle(PlainButtonStyle())
            
            Spacer()
            
            Button(action: {
                MainView(filter: .header3)
            }, label: {
                    Text("Header 3")
            })
            .buttonStyle(PlainButtonStyle())
        }
        .environmentObject(sourceItems)
    }
}

The code runs but the buttons don't filter.

Thanks for any help (I am new to SwiftUI)!



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source