组件拆分报错
来源:1-1 组件拆分与组件之间的传值(1)
weixin_慕码人9177259
2020-03-29 13:47:29
TodoList.js代码如下:
import React,{Component,Fragment}from 'react';
import TodoItem from './TodoItem';
import './style.css';//直接引入当前目录下css文件
class TodoList extends Component{
constructor(props) {
super(props);
this.handleChange=this.handleChange.bind(this);
this.handleKeyUp=this.handleKeyUp.bind(this);
this.state={
inputValue:'',//这里state对应了组件的数据内容
list:[]
}
}
handleChange(e){
// console.log(e.target.value);
this.setState({
inputValue:e.target.value
})
}
handleKeyUp(e){
// console.log(this);
// console.log(e.keyCode+"ccc");
if(e.keyCode===13&&e.target.value!==''){
const list=[...this.state.list,this.state.inputValue];
this.setState({
list:list,
inputValue:''
})
}
}
getListItems(){
return this.state.list.map((value,index)=>{//箭头函数,this只是搜索父级作用域里的this
return( <TodoItem
content={value}
key={index}/>
)
})
}//点击请输入,input框自动聚焦
//jsx语法中不能直接写注释
render(){
//这是js里的一般注释
return(
<Fragment>
{/*这是JSX语法里的注释*/}
<label htmlFor='myinput'>请输入内容:</label>
<input
id='myinput'
className='input'
value={this.state.inputValue}
onChange={this.handleChange}
onKeyUp={this.handleKeyUp}
/>
<ul>
{this.getListItems()}
</ul>
</Fragment>
)
}
}
export default TodoList;
子组件TodoItem代码如下:
import React,{Component}from 'react';
class TodoItem extends Component{
constructor(props){
super(props);
this.handleItemClick=this.handleItemClick.bind(this);
}
handleItemClick(){
console.log(this);
}
render(){
const {content}=this.props;
return
<li onClick={this.handleItemClick}>{content}</li>
}
}
export default TodoItem;
报错如下,请问哪出错了呢?
1回答
好帮手慕慕子
2020-03-29
同学你好,从截图看报错信息是TodoItem.js文件中14行左右存在语法错误,如下所示,return后忘记添加括号了。
建议:同学添加上括号后在测试下。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
相似问题