问题标签 [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.
svelte - 设置存储值的 Svelte 用户注册问题
赫罗:)
我正在尝试注册一个用户,成功后,将 setContext 设置为新注册的用户,然后导航到主页。服务器正确响应并注册用户,但是当调用 setContext 时出现以下错误:“index.mjs:552 Uncaught (in promise) Error: Function called outside component initialization”
我究竟做错了什么?
javascript - 如何评估苗条存储字符串中的值
我正在尝试评估用户是否已登录,以显示其他一些信息。到目前为止,我一直在尝试使用苗条的商店来做到这一点。
userContext.js:
App.svelte:
这不起作用,因为我似乎无法评估存储在苗条商店内的字符串。我怎样才能使它工作?如果这不可能,我怎么能用 svelte 做这个简单的登录用户流程?
javascript - 使用 svelte/store 测试 svelte 组件
在使用 jest 和 @testing-library/svelte 测试 svelte 组件时,状态在测试之间共享,每次测试后是否可以拆除,所以我有更多独立的单元测试。
商店/主题
因为没有 DI 存储在测试之间共享,所以我可以在 beforeEach 中将值重置为默认值,但尝试查看是否有更好的解决方案。
ThemeSwitcher.spec.js
javascript - 是否可以从 Web 控制台访问 Svelte 商店?
我正在调试 Svelte 应用程序,想知道是否可以从 Web 控制台访问商店中的 svelte 数据?有人知道这是否可能,如果可以,请如何:)
顺便说一句,我们仍在使用 svelte 1。
svelte - Svelte 商店有条件的自动订阅
复制步骤:
在这里转到 REPL:https ://svelte.dev/repl/27a2cff81ebb4000970eee32747cc6c2?version=3.20.1
打开控制台
取消注释第 27 行 (
$: canSubscribe && $store
)
预期:
我认为只有在为真$store
时才能订阅(使用$:
) 。canSubscribe
问题是:如果是假的,为什么要$store
订阅?canSubscribe
我错了吗?
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 中保持会话。
svelte - 如何从另一家商店获取商店价值?
如何从另一家商店获取商店价值? https://svelte.dev/repl/0ab80c2fb8e045958d844bd4b11c04a9?version=3.22.1
在示例中,我inputVal
在stores.js
文件中包含一个变量并更改
set: (val) => {inputVal=val; set( val );}, and use in fn setToZero
问题:如何不使用inputVal
变量直接做呢?
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
更新,请说明如何操作。
javascript - 使用商店在 Svelte 中使类实例具有反应性
我通过创建简单的应用程序来学习 Svelte。
逻辑是使用类编写的。这个想法是,所需的所有数据都来自类实例属性。实例不应被多次实例化。我正在使用商店来提供此实例的组件。
问题是我无法使用这种方法获得反应。我尝试了可读可写存储,但没有任何帮助。仍然可以使用 OOP 获得反应性,我该怎么办?重新分配和创建新实例会很昂贵。
编辑
我无法在 REPL 中编写示例,因为类太大。
解析器.js
在这里,我将实例传递给商店。
parserStore.js
在这个组件中,我得到了实例并反应性地使用了一个方法。
Component_1.svelte *
我想要得到的是使用类方法更新的最新历史属性:
Component_2.svelte
我知道,这不是最好的例子,但我想要的是通过商店提供的反应类实例。实际上这些值是最新的,但它不会导致组件的重新渲染。当组件被安装时 - 最新的数据,但在没有重新渲染之后,即使实例的属性发生了变化。