【问题标题】:difference between svelte store and svelte context苗条商店和苗条上下文之间的区别
【发布时间】:2023-02-21 05:18:50
【问题描述】:

import { getContext } from 'svelte';

Svelte Context 和 Svelte Store 之间的确切区别是什么?什么时候在不同情况下使用?

import {writable} from 'svelte/store';

【问题讨论】:

    标签: svelte


    【解决方案1】:

    上下文是在组件层次结构中继承的数据。商店通过订阅系统封装反应性。

    上下文对于使数据可用于应用程序的大部分(例如本地化数据或当前用户信息)很有用,而无需在每个级别都通过道具传递。这允许不“知道”上下文的组件存在于两者之间而不会受到干扰,例如第三方组件。

    Stores 允许反应性通过组件边界。例如。 Svelte 不会捕获常规 JS/TS 文件中变量的更改。通过传递商店,组件可以订阅更改(通过 $ 语法)并自动更新。

    默认情况下,上下文也不是反应式的,因此通过上下文传递存储通常也很有意义。

    【讨论】:

      【解决方案2】:

      在我看来,上下文就像是带有类固醇的道具,这意味着祖先可以将数据共享到任何深层嵌套的组件。我认为此功能也是反应的一部分。

      另一方面,商店是无所不能的上帝的背景。它可用于在组件树的任何级别共享数据。

      【讨论】:

        猜你喜欢
        • 2021-05-11
        • 2019-10-22
        • 2020-09-21
        • 2021-06-04
        • 2022-11-11
        • 2021-01-15
        • 2021-03-30
        • 2021-12-28
        • 2021-07-21
        相关资源
        最近更新 更多