面试题答案
一键面试- 实现步骤:
- 定义列表数据:在Solid.js应用中,首先要定义一个状态来存储列表数据。
- 渲染列表:使用循环遍历列表数据,渲染每个列表项,并在每个列表项中添加删除按钮。
- 定义删除处理函数:该函数接受要删除项的索引或标识,从列表数据中移除该项。
- 绑定事件:将删除处理函数绑定到删除按钮的点击事件上。
- 关键代码:
import { createSignal } from'solid-js'; const App = () => { const [list, setList] = createSignal([ { id: 1, text: 'Item 1' }, { id: 2, text: 'Item 2' }, { id: 3, text: 'Item 3' } ]); const handleDelete = (id) => { setList((prevList) => prevList.filter(item => item.id!== id)); }; return ( <div> <ul> {list().map(item => ( <li key={item.id}> {item.text} <button onClick={() => handleDelete(item.id)}>Delete</button> </li> ))} </ul> </div> ); }; export default App;
- 状态更新与UI同步:
- 在Solid.js中,使用
createSignal
创建的状态,当通过setList
函数更新状态时,Solid.js会自动跟踪状态的变化。 - 当
handleDelete
函数调用setList
更新列表数据时,Solid.js会检测到状态的变化,并重新运行依赖该状态的JSX代码(即列表渲染部分),从而确保UI与新的状态同步更新。因为列表渲染依赖list
状态,状态变化就会触发UI重新渲染,展示更新后的列表。
- 在Solid.js中,使用