不用换,语法兼容的。
如果需要的话,可以做一个简单的判断
萨法是的
this指向当前类,super指向父类。
看提示是版本的问题,你可以试试他给的提示语句,npm uninstall -g create-react-app啊
你的编辑的配置吧,
用开头的大写试了没有,组件用驼峰吧
老师都说了版本了,很喜欢Dell老师的课的,讲得很细心
没什么问题啊
没有这种用法,应该是你前面漏了<
你就把TodoItem理解为一个新的HTML标签,而delete就是这个标签的某一个属性值,由于TodoItem这个标签是你自己自定义封装的,所以这个标签的属性就是由你决定的,所以这个delete可以是你自己定义的任何名字,名字不是关键,关键的是这个名字的值,因为在TodoItem组件里起到最终作用的是delete这个属性名最终指向的实际的函数。你在父组件里向TodoItem传递的是函数a,那在TodoItem里最终执行的就是函数a,在父组件里向TodoItem传递的是函数b,那在TodoItem里最终执行的就是函数b
抱歉 上面的格式错误 重新传一下代码片段
<ul>{ this.state.list.map((item, index) => { return <li key={index} onClick={this.handleItemClick(index)}>{item}</li> }) } </ul>
react 16.3.1
用for循环搭配递归
这种是function的写法,视频中的写法用了class,https://segmentfault.com/a/1190000011434694 可以看一下这篇文章
在vue当中子组件给父组件传值是通过分发事件完成的
跟着敲得
忘记说了react中有2种方法定义组件 一种是class类 一种是函数的方式,你这中没有使用class类方式定义的组件中不能有state也就是说不能有状态,反之必须使用class 类这种方式定义哦 举个例子 比如移动端项目的每页头部都要用title的话就能使用function函数这中方式了
新建一个todolist.js
哪里的path?
为了拷贝一个副本出来,避免直接操作list
你看下你的子组件是用的傀儡组件(函数定义的),还是类组件,傀儡组件直接使用props.key,因为傀儡组件的this===undefined
小哥,你这是没理解state状态与props属性的定义呀,props属性是不能修改的,只读,子组件要改变父组件的状态数据,需要通过父组件传递一个属性方法给子组件<TodoItem handleDelete={this.handleDate()} />
this.handleDate()这个方法是在父组件定义的,然后子组件通过方法调用 this.props.handleDelete()
建议:<div onClick={() => this.props.handleDelete }>{this.props.content}</div>
可以看官网文档里面事件处理一节,讲得很清楚。
https://react.docschina.org/docs/handling-events.html
Sublime/WebStorm/VS Code
不可以去掉,这里需要通过this(已经重新绑定过,指向react)来找到handleInput() 函数,就像调用state里的数据也是要通过this.state.xxx来获取一样