【问题标题】:Uncaught ReferenceError on Svelte writable arraySvelte 可写数组上未捕获的 ReferenceError
【发布时间】:2021-05-16 06:19:38
【问题描述】:

我收到一个未捕获的 ReferenceError:$writableArray 未在 addFoo 中定义

arrays.js:

import {writable} from 'svelte/store'
export const writableArray = writable([])

stores.js:

import {writableArray} from './arrays.js'
import {subscribe} from 'svelte/internal'
import {writable} from 'svelte/store'

export const addFoo = (bar) => {
  $writableArray = [...$writableArray, {
    bar: bar,
    datetime: Date.now()
  }];
};

export const foos = addFoo() // this is so that I can have a readable store too

我的代码基于Svelte example

【问题讨论】:

  • 您是否有一个组件显示您尝试访问它的方式?似乎您正在尝试从stores.js 导入$writableArray,这将不起作用,因为arrays.js 导出了该变量。如果商店是从正确的文件中导入的,您的代码就可以工作。 svelte.dev/repl/951a6460c4dd45199256e0c4c06df391?version=3.22.2

标签: svelte-3


【解决方案1】:

您不能在.js 文件中使用$store 语法。 而是使用普通的update 函数:

writableArray.update(oldArray => [...oldArray, { newObject }])

【讨论】:

    猜你喜欢
    • 2021-10-06
    • 2020-10-23
    • 1970-01-01
    • 2020-11-13
    • 2023-01-23
    • 2020-12-17
    • 2023-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多