面试题答案
一键面试-
创建上下文:
- 在Svelte中,使用
setContext
和getContext
函数来实现上下文功能。首先在一个模块(通常是一个父组件或者一个专门用于状态管理的模块)中导入setContext
函数。 - 示例代码如下:
// parent.svelte import { setContext } from'svelte'; const globalData = { message: 'Hello, Svelte Context!' }; setContext('globalDataContext', globalData);
这里
setContext
函数接受两个参数,第一个参数是上下文的唯一标识符(字符串),第二个参数是要共享的数据。 - 在Svelte中,使用
-
传递数据:
- 上下文数据会自动沿着组件树向下传递。只要子组件在这个组件树内,就可以获取到该上下文数据。
- 例如,
parent.svelte
有子组件child.svelte
,那么child.svelte
就可以获取到parent.svelte
设置的上下文数据。
-
在子组件中获取数据:
- 在子组件中,导入
getContext
函数。 - 使用
getContext
函数并传入与setContext
中相同的上下文标识符来获取共享的数据。 - 示例代码如下:
// child.svelte import { getContext } from'svelte'; const globalData = getContext('globalDataContext'); console.log(globalData.message);
这样就可以在子组件中获取并使用父组件设置的全局状态数据了。
- 在子组件中,导入