1 回答
![?](http://img1.sycdn.imooc.com/545869390001b87802200220-100-100.jpg)
TA贡献2041条经验 获得超4个赞
数组是有序结构,因此您可以依赖项目索引,即使在序列化/反序列化之后也将保持不变。
注意(感谢@devserkan):...本示例中使用的扩展运算符 ( ) 创建数组的浅拷贝,以防万一您使用嵌套数组 - 请splice修改原始数组(这是您永远不想做的)。请使用方法创建数组的深层副本(JSON.parse(JSON.stringify(...)),lodash 库方法等)或splice用Array.filter.
移除功能
handleRemove = (id) => {
let todo = [...this.state.todo]
todo.splice(id, 1);
this.setState({todo});
}
待办事项列表
const TodoList = ({todo, rmv}) => {
const todoBuild = todo.map((todo, index) => (
<Todo
itemIndex={index}
todo={todo}
key={index}
rmv={rmv}/>
))
return <div> {todoBuild} </div>
};
去做
const Todo = ({todo, rmv, itemIndex}) => {
return (
<div className='todo'>
<p>{todo}</p>
<button className='btn-rmv' onClick={() => rmv(itemIndex)}>x</button>
</div>
)
}
添加回答
举报