面试题答案
一键面试-
利用 Solid.js 响应式系统与 JSX 实现原理:
- 在 Solid.js 中,使用
createSignal
创建响应式状态。createSignal
会返回一个数组,第一个元素是获取状态值的函数,第二个元素是更新状态值的函数。 - 对于按钮的点击事件,通过调用更新状态的函数来增加或减少计数。
- 根据计数数值的奇偶性,通过 CSS 样式动态改变组件的背景颜色。在 JSX 中,可以通过
style
属性来设置内联样式。
- 在 Solid.js 中,使用
-
完整代码如下:
import { createSignal } from'solid-js';
const Counter = () => {
const [count, setCount] = createSignal(0);
const increment = () => setCount(count() + 1);
const decrement = () => setCount(count() - 1);
const backgroundColor = count() % 2 === 0? 'green' :'red';
return (
<div style={{ backgroundColor, padding: '20px' }}>
<p>Count: {count()}</p>
<button onClick={increment}>Increment</button>
<button onClick={decrement}>Decrement</button>
</div>
);
};
export default Counter;