跳至主要内容

urlSyncEffect(...)

一个可选的 effect,可以用来代替 syncEffect() 用于 URL 持久化,以指定附加选项,例如状态更改是否应该替换 URL 或在浏览器历史记录堆栈中推送新条目。


function urlSyncEffect<T>(options: {
...SyncEffectOptions<T>,
history?: 'replace' | 'push',
}): AtomEffect<T>
  • 历史记录 -
    • replace (默认) - 用更新后的状态替换当前浏览器 URL。
    • push - 将带有更新状态的 URL 推送到浏览器历史记录堆栈。

如果一个事务包含来自某些原子的 mutation(替换一些原子,推送一些原子状态更改),那么 URL 将首先用要替换的项目进行替换,然后将一个新 URL 推送到堆栈中,其中包含批处理事务中的全部更改。