【发布时间】:2020-03-16 17:54:12
【问题描述】:
我正在学习 Svelte,并阅读了需要重新分配数组才能让组件或页面更新它的文档。为此,他们设计了一个更惯用的解决方案。而不是写:
messages.push('hello');
messages = messages;
你可以改写:
messages = [...messages, 'hello'];
好吧,有道理。但是文档说:
您可以使用类似的模式来替换 pop、shift、unshift 和 splice。
但是怎么做呢?我看不到如何从数组中删除项。更重要的是,我怎样才能更惯用地写以下内容?
messages.splice(messages.indexOf('hello'), 1);
messages = messages;
【问题讨论】:
-
Svelte 的反应是由分配触发的。因此推送、弹出、切片等不起作用。请在分配值时使用“=”。
标签: javascript arrays svelte