面试题答案
一键面试createEffect基础场景
- 响应式数据变化触发副作用:当响应式数据发生改变时,自动执行一些副作用操作,如更新DOM、发起网络请求等。
- 初始化副作用:在组件挂载时执行一次副作用,例如初始化第三方库、设置事件监听器等。
监听响应式数据变化并更新DOM示例
import { createSignal, createEffect } from 'solid-js';
const App = () => {
const [count, setCount] = createSignal(0);
createEffect(() => {
const element = document.getElementById('count-display');
if (element) {
element.textContent = `Count: ${count()}`;
}
});
return (
<div>
<button onClick={() => setCount(count() + 1)}>Increment</button>
<div id="count-display">Count: {count()}</div>
</div>
);
};
export default App;
在上述代码中,createEffect
监听了count
这个响应式数据的变化,每当count
改变时,createEffect
回调函数内的代码会执行,从而更新id
为count-display
的DOM元素的文本内容。