MST

星途 面试题库

面试题:Solid.js 中 createSignal 与 createEffect 基础协同问题

在 Solid.js 项目中,假设有一个 createSignal 定义的计数器 `count`,初始值为 0。请使用 createEffect 实现当 `count` 变化时,在控制台打印出 `The count is: ` 加上当前 `count` 的值。并解释为什么这样做能实现响应式效果。
16.5万 热度难度
前端开发Solid.js

知识考点

AI 面试

面试题答案

一键面试
import { createSignal, createEffect } from 'solid-js';

const [count, setCount] = createSignal(0);

createEffect(() => {
  console.log(`The count is: ${count()}`);
});

在 Solid.js 中,createEffect 会自动追踪它所依赖的响应式数据(这里是 count)。当 count 的值发生变化时,createEffect 内部的函数会重新执行,从而实现响应式效果。createEffect 会记住它在初次运行时访问的所有响应式数据源,一旦这些数据源中的任何一个发生变化,就会触发副作用函数的重新执行,所以能够及时响应 count 的变化并打印出最新值。