|
|
|
|
|
by laktek
3385 days ago
|
|
Sorry in a bit of rush as it's Sunday here, I will try to write a blog post with more detailed example later tonight. For now, I will share this snippet: document.addEventListener('state-change', (ev) => {
const { key, action } = ev.detail;
const state = { key, action };
window.history.pushState(state, null, `/${action}/${key}`);
console.log(`triggered state change. action: ${action} key: ${key}`);
return handleState(state);
});
And then in your app code (for example, when a user clicks a button), trigger a state change: const event = new CustomEvent('state-change', {
detail : {
state: state,
key: key
}
});
document.dispatchEvent(event);
|
|