因为session是一个商店,所以您可以在浏览器中写入它,只要您小心地匹配服务器端填充的内容即可。这是一个有用的模式:
<script>
import { stores } from '@sapper/app';
const { session } = stores();
async function login() {
const res = await fetch('auth/login', {
credentials: 'include',
method: 'post',
body: JSON.stringify(whatever)
});
if (res.ok) {
session.update(store => ({
...store,
user: await res.json()
});
} else {
// handle the error
}
}
</script>
{#if $session.user}
<h1>Welcome back {$session.user.name}!</h1>
{:else}
<button on:click={login}>log in</button>
{/if}
Run Code Online (Sandbox Code Playgroud)
如果您确实需要强制重新加载,location.reload()那就可以了。
| 归档时间: |
|
| 查看次数: |
6270 次 |
| 最近记录: |