environment(_:_:)
Sets the environment value of the specified key path to the given value.
Declaration
nonisolated func environment<V>(_ keyPath: WritableKeyPath<EnvironmentValues, V>, _ value: V) -> some View
Parameters
- keyPath:
A key path that indicates the property of the Environmentvalues structure to update.
- value:
The new value to set for the item specified by
keyPath.
Mentioned in
Return Value
A view that has the given value set in its environment.
Discussion
Use this modifier to set one of the writable properties of the EnvironmentValues structure, including custom values that you create. For example, you can set the value associated with the truncationMode key:
MyView()
.environment(\.truncationMode, .head)You then read the value inside MyView or one of its descendants using the Environment property wrapper:
struct MyView: View {
@Environment(\.truncationMode) var truncationMode: Text.TruncationMode
var body: some View { ... }
}SwiftUI provides dedicated view modifiers for setting most environment values, like the truncationMode(_:) modifier which sets the truncationMode value:
MyView()
.truncationMode(.head)Prefer the dedicated modifier when available, and offer your own when defining custom environment values, as described in Entry().
This modifier affects the given view, as well as that view’s descendant views. It has no effect outside the view hierarchy on which you call it.