SwiftUI中对NavigationLink的封装

我在项目中需要通过NavigationLink来进行页面跳转,NavigationLink目前存在一个问题,后面会有一个小箭头。我通过overlay一个EmptyView()来去除箭头,代码如下:

HStack{
    Spacer()
    Button(action: {
        action.DownLoadViewIsShow = true
        print("do some thing")
    }, label: {
        Text("点击下载").foregroundColor(.black)
    })
    .overlay(
        NavigationLink(
            destination: DownLoadView(),
            isActive: $action.DownLoadViewIsShow,
            label: {EmptyView()})
    )
    Spacer()
}

现在需要用到多个NavigationLink,就需要对上面的代码实现复用,但在封装时我遇到一个问题,那就是destination,这个即将要跳转的页面DownLoadView()如何作为参数接收,用什么类型来接收。

 
struct NavigationLinkCell: View {
    var viewIsShow:Binding<Bool>
    let title: String
    let method: ()->Void?
    let ToView: AnyView  //问题所在
    var body: some View {
        HStack{
            Spacer()
            Button(action: {method()}, label: {
                Text(title).foregroundColor(.black)
            })
            .overlay(
            NavigationLink(
                destination: ToView,  //问题所在
                isActive: viewIsShow,
                label: {
                    EmptyView()
                })
            )
            Spacer()
        }
    }
}