问题标签 [svelte-store]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1033 浏览

svelte - 设置存储值的 Svelte 用户注册问题

赫罗:)

我正在尝试注册一个用户,成功后,将 setContext 设置为新注册的用户,然后导航到主页。服务器正确响应并注册用户,但是当调用 setContext 时出现以下错误:“index.mjs:552 Uncaught (in promise) Error: Function called outside component initialization”

我究竟做错了什么?

0 投票
1 回答
34 浏览

svelte - 如何在商店中保存的类的实例发生突变时通知订阅者

我可以在商店中保存一个对象并通过克隆和替换该对象来对其进行变异,例如:

但是,这不适用于类的实例,因为原型(方法)没有被复制。商店以对象而不是类的实例结束。

我正在寻找一种在突变后触发通知的方法,例如:

我的实验调用store.set()store.update()未能通知订阅者更改,大概是因为(如文档中所述)这仅在设置的值更改时发生。虽然我对这个似乎与此相矛盾的PR感到困惑,但给了我一些希望,有一种方法可以实现这一目标。

0 投票
1 回答
354 浏览

javascript - 如何评估苗条存储字符串中的值

我正在尝试评估用户是否已登录,以显示其他一些信息。到目前为止,我一直在尝试使用苗条的商店来做到这一点。

userContext.js:

App.svelte:

这不起作用,因为我似乎无法评估存储在苗条商店内的字符串。我怎样才能使它工作?如果这不可能,我怎么能用 svelte 做这个简单的登录用户流程?

0 投票
1 回答
1165 浏览

javascript - 使用 svelte/store 测试 svelte 组件

在使用 jest 和 @testing-library/svelte 测试 svelte 组件时,状态在测试之间共享,每次测试后是否可以拆除,所以我有更多独立的单元测试。

商店/主题

因为没有 DI 存储在测试之间共享,所以我可以在 beforeEach 中将值重置为默认值,但尝试查看是否有更好的解决方案。

ThemeSwitcher.spec.js

0 投票
3 回答
666 浏览

javascript - 是否可以从 Web 控制台访问 Svelte 商店?

我正在调试 Svelte 应用程序,想知道是否可以从 Web 控制台访问商店中的 svelte 数据?有人知道这是否可能,如果可以,请如何:)

顺便说一句,我们仍在使用 svelte 1。

0 投票
3 回答
1233 浏览

svelte - Svelte 商店有条件的自动订阅

复制步骤:

预期

我认为只有在为真$store时才能订阅(使用$:) 。canSubscribe

问题是:如果是假的,为什么要$store订阅?canSubscribe

我错了吗?

0 投票
1 回答
65 浏览

javascript - 需要帮助理解逻辑

有人可以向我解释这条线是如何工作的: https ://github.com/sveltejs/realworld/blob/master/src/routes/login/index.svelte#L13

const response = await post(授权/登录, { email, password });

post正在从 调用utils.js,即:

实用程序.js

所以函数进入这里,然后获取提供的端点,即auth/login.

这让我很困惑,因为auth/login它不是端点,它是一个导出函数的文件,在auth/login.js. 这第二个帖子功能是否auth/login.js会自动调用?我也不确定它是从哪里(req, res)传入的,因为我们只是从上面获取这个文件而不传递任何参数。

身份验证/login.js

这是在 cookie 中设置用户的地方,我的代码目前没有这样做,并且会话在刷新时丢失。我试图了解如何在 Sapper 中保持会话。

0 投票
1 回答
2094 浏览

svelte - 如何从另一家商店获取商店价值?

如何从另一家商店获取商店价值? https://svelte.dev/repl/0ab80c2fb8e045958d844bd4b11c04a9?version=3.22.1

在示例中,我inputValstores.js文件中包含一个变量并更改
set: (val) => {inputVal=val; set( val );}, and use in fn setToZero

问题:如何不使用inputVal变量直接做呢?

0 投票
2 回答
152 浏览

svelte - $: 的简化语法将语句标记为反应式

如何简化$:代码?:

Symbol.svelte

我梦想着这样的事情:

我不能用...

...因为on:click我必须修改symbol对象symbol.c = 0- 没有这个我的store命名list将不会更新。

整个例子:https ://svelte.dev/repl/37e3a1fa96fc4f1dbc7cfcafb1edc439?version=3.22.1

PS,如果您可以使用export let c, name;而不会丢失store更新,请说明如何操作。

0 投票
4 回答
2561 浏览

javascript - 使用商店在 Svelte 中使类实例具有反应性

我通过创建简单的应用程序来学习 Svelte。

逻辑是使用类编写的。这个想法是,所需的所有数据都来自类实例属性。实例不应被多次实例化。我正在使用商店来提供此实例的组件。

问题是我无法使用这种方法获得反应。我尝试了可读可写存储,但没有任何帮助。仍然可以使用 OOP 获得反应性,我该怎么办?重新分配和创建新实例会很昂贵。

编辑

我无法在 REPL 中编写示例,因为类太大。

解析器.js

在这里,我将实例传递给商店。

parserStore.js

在这个组件中,我得到了实例并反应性地使用了一个方法。

Component_1.svelte *

我想要得到的是使用类方法更新的最新历史属性:

Component_2.svelte

我知道,这不是最好的例子,但我想要的是通过商店提供的反应类实例。实际上这些值是最新的,但它不会导致组件的重新渲染。当组件被安装时 - 最新的数据,但在没有重新渲染之后,即使实例的属性发生了变化。