urlSyncEffect(...)
一个可选的 effect,可以用来代替 syncEffect()
用于 URL 持久化,以指定附加选项,例如状态更改是否应该替换 URL 或在浏览器历史记录堆栈中推送新条目。
function urlSyncEffect<T>(options: {
...SyncEffectOptions<T>,
history?: 'replace' | 'push',
}): AtomEffect<T>
历史记录
-replace
(默认) - 用更新后的状态替换当前浏览器 URL。push
- 将带有更新状态的 URL 推送到浏览器历史记录堆栈。
如果一个事务包含来自某些原子的 mutation(替换一些原子,推送一些原子状态更改),那么 URL 将首先用要替换的项目进行替换,然后将一个新 URL 推送到堆栈中,其中包含批处理事务中的全部更改。