面试题答案
一键面试在Solid.js的JSX中,可以通过以下方式为按钮绑定点击事件并传递参数:
import { createSignal } from 'solid-js';
const App = () => {
const [count, setCount] = createSignal(0);
const handleClick = (param) => {
setCount(count() + param);
};
return (
<div>
<button onClick={() => handleClick(1)}>点击增加1</button>
<p>Count: {count()}</p>
</div>
);
};
export default App;
解释:
- 创建状态和更新函数:使用
createSignal
创建了一个状态count
以及对应的更新函数setCount
。 - 定义点击处理函数:
handleClick
函数接收一个参数param
,并使用setCount
更新count
的值,这里通过count()
获取当前count
的值,然后加上传递进来的参数。 - 绑定点击事件并传递参数:在
<button>
标签中,通过onClick
属性绑定一个匿名函数() => handleClick(1)
。这样当按钮被点击时,就会调用handleClick
函数并传递参数1
。这种写法是因为onClick
需要一个函数作为值,直接写handleClick(1)
会立即执行函数,而不是在点击时执行,通过包裹一层匿名函数,确保handleClick
在点击时才被调用并传递参数。