面试题答案
一键面试-
定义可读存储(readable store):
- 在Svelte中,使用
readable
函数来创建可读存储。例如:
import { readable } from'svelte/store'; const myStore = readable(initialValue, (set) => { // 这里可以进行一些初始化逻辑,比如设置初始值 // set(initialValue); // 返回一个清理函数(可选),当不再需要这个store时会被调用 return () => { // 清理逻辑 }; });
- 这里
initialValue
是存储的初始值,可以是任何类型的数据,比如0
、''
、[]
等。
- 在Svelte中,使用
-
在组件中使用并更新存储:
- 在Svelte组件中引入并使用这个存储。
<script> import { myStore } from './path/to/store.js'; let count = 0; const handleClick = () => { // 这里获取当前store的值并更新为新的值 myStore.update((value) => { return value + 1; }); // 另一种方式是直接获取store的值并设置新值 // myStore.set(count++); }; </script> <button on:click={handleClick}>点击更新store</button> <p>store的值: {$myStore}</p>
- 在
handleClick
函数中,当按钮被点击时,使用update
方法来更新存储的值。update
方法接收一个函数,该函数以当前存储的值作为参数,并返回新的值来更新存储。也可以直接使用set
方法设置新的值。 - 在模板中,通过
{$myStore}
的语法来使用存储的值。这样,当存储的值更新时,模板会自动重新渲染。