为了账号安全,请及时绑定邮箱和手机立即绑定
老师讲的很不错,很有水平<h1>test
删除操作核心代码.
子组件中的btn绑定点击事件, props自定义事件将index传递给父组件
父组件根据index 调用 Array.splice方法删除元素
有个坑, this.comments.splice(index,1) 返回的是被删除的元素
所以要先删除, 在重新将状态更新

delComment(index) {
this.state.comments.splice(index, 1)
this.setState({
comments: this.state.comments,
})
}
确实react出来很早了,那时候MVC架构很流行, 用的确是不习惯, 结构,样式,行为分离度不够高. 不过比Flutter舒服的一点, 怎么说也是js的主场.

onChange={this.handleClick.bind(this)} 这也是可以绑定到组件的this的
就喜欢听这个老师的课
我下载的时候bootstrap的版本已经是5了。胶囊样式注意改为:badge rounded-pill bg-primary

最新回答 / 小熙兮嘻
不用target已经表示的是input这个元素对象

最新回答 / 慕梦前来
因为是无条件渲染子组件的,你可以用PureComponent或者memo来处理一下
删除列表要注意的是:
1,如果你用的是函数式的写法记得把删除方法的名称作为参数给加上,然后不加this直接调用
2,如果用的是class的写法直接用this.props.删除方法(index),
删除方法内容:
let list = [...this.state.comments]
list.splice(index,1)
this.setState({
comments:list
})
删除列表:基本流程和增加列表差不多,但是有两个点需要注意:
1、如何将参数index传到父组件中,我一开始用(e/index)=>this.props.onDeleteComment(e/index),发现传到父组件中都是一个合成事件,找不到索引,只能顺序删除。后来参照了评论里一个同学的,改成了()=>this.props.onDeleteComment(index),就可以任意删除自己想要的节点。

已采纳回答 / Elylic
箭头函数,可以 这么写 () => <li>abc</li> 等同于 () => { return <li>abc</li> } 是一种简写的方式 所以老师代码中正确的写法应该是:写法1<...图片...>写法2<...图片...>
首页上一页1234567下一页尾页
课程须知
了解基本的 Javascript(ES6)语法
老师告诉你能学到什么?
1、React本地开发环境的搭建 2、React组件 和 JSX 3、React的属性(props)和状态(state) 4、React组件的生命周期 5、React表单- 非受控表单和受控表单 6、React开发思想 - 状态提升和单向数据流 7、React16新增特性 Context

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消