Return Value 戻り値
A view that fires an action when the specified value changes. あるビュー、それはあるアクションをこの指定された値が変化する時に開始します。
Availability 有効性
Technology
A view that fires an action when the specified value changes. あるビュー、それはあるアクションをこの指定された値が変化する時に開始します。
value
The value to check against when determining whether to run the closure. クロージャを走らせるかどうかを決定する時にこの値と照合することになります。
action
A closure to run when the value changes. 値が変化する時に実行することになるクロージャ。
newValue
The new value that failed the comparison check. 新しい値、それは比較検査が失敗したものです。
You can use on
to trigger a side effect as the result of a value changing, such as an Environment
key or a Binding
.
あなたは、on
を使ってある副作用を引き起こすことが、たとえばEnvironment
キーまたはBinding
など、ある値の変化の結果として行えます。
on
is called on the main thread. Avoid performing long-running tasks on the main thread. If you need to perform a long-running task in response to value
changing, you should dispatch to a background queue.
on
は、メインスレッド上で呼び出されます。長く動作するタスクをメインスレッド上で実行することを避けてください。あなたが長く動作するタスクをvalue
の変化に答えて実行する必要があるならば、あなたはあるバックグラウンドキューにディスパッチすべきです。
The new value is passed into the closure. The previous value may be captured by the closure to compare it to the new value. For example, in the following code example, Player
passes both the old and new values to the model.
新しい値は、クロージャに渡されます。以前の値は、クロージャによってキャプチャされて、それを新しい値と比較するかもしれません。例えば、次のコード例において、Player
は古いそして新しい値の両方をmodelに渡します。
struct PlayerView: View {
var episode: Episode
private var playState: PlayState = .paused
var body: some View {
VStack {
Text(episode.title)
Text(episode.showTitle)
PlayButton(playState: $playState)
}
.onChange(of: playState) { [playState] newState in
model.playStateDidChange(from: playState, to: newState)
}
}
}