将某些内容推送到数组后,如何以 svelte 重新渲染 {#each array} 块

Lay*_*kie 3 javascript svelte

您好,我正在为我的网站创建一个评论部分,该部分可以工作,但是当我将对象推送到数组时,我的{#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}
Run Code Online (Sandbox Code Playgroud)

在我的脚本部分,我将新评论推送到数组中,它在刷新页面后确实显示出来,但我想在用户留下评论后立即重新呈现它,以便用户会看到他/她自己的评论,所以在那里有什么办法可以重新渲染它吗?

小智 6

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

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