将内容推送到数组后,如何在 svelte 中重新呈现 {#each array} 块

How to rerender {#each array} block in svelte after you push something to an array

你好,我正在为我的网站创建一个评论部分,它可以正常工作,但是当我将一个对象推送到一个数组时,我的 {#each} 块没有更新,这里是这段代码

            {#each commentsScript as { userName, rating, comment }, i}
                <div class="flex">
                    <div class="w-1/4">
                        <h5>{userName}</h5>
                        <h5>{rating}</h5>
                    </div>
                    <div class="w-3/4">
                        <p>{comment}</p>
                    </div>
                </div>
            {/each}

在我的脚本部分,我将一条新评论推送到一个数组,它在我刷新页面后确实显示了,但我想在用户发表评论后立即重新呈现它,以便用户看到 hes/her 自己的评论,有什么办法可以重新渲染它吗?

https://svelte.dev/tutorial/updating-arrays-and-objects

您必须分配 commentsScript = commentsScript,这通常是多余的,但这就是 svelte 的工作原理。如果您在数组上使用 push 函数,则为真。