老师,帮我检查下代码,还有个小问题需要请教

来源:2-10 自由编程

慕姐5289795

2021-07-24 21:11:50

问题描述:

将生成 li 的部分封装成方法后,在render中使用this.getULItems调用,控制台报警告,且列表出不来

相关截图:

http://img.mukewang.com/climg/60fc11310961c43113420466.jpg

相关代码:

TodoList.js

import React, {Component, Fragment} from 'react';
import './TodoList.css';

class TodoList extends Component {
constructor(props) {
super(props);

this.handleInputChange = this.handleInputChange.bind(this);
this.handleInputKeyUp = this.handleInputKeyUp.bind(this);

// 起始值
this.state = {
inputValue: '',
list: []
}
}

getULItems() {
return this.state.list.map((value, index) => {
return (
<li
className="listItem"
key={index}
onClick={this.handleItemClick.bind(this, index)}
>
{value}
</li>
)
})
}

// 文本框内容改变事件
handleInputChange(e) {
this.setState({
inputValue: e.target.value
});
}

// 点击回车键将input中的内容添加到列表
handleInputKeyUp(e) {
if(e.keyCode === 13 && this.state.inputValue.trim() !== '') {
this.setState({
inputValue: '',
list: [...this.state.list, this.state.inputValue]
});
}
}

// 列表项点击删除该项
handleItemClick(index) {
const list = [...this.state.list];
list.splice(index, 1);
this.setState({list});
}

render() {
return (
<Fragment>
<label htmlFor="itemName">请输入事项名称:</label>
<input
id="itemName"
value={this.state.inputValue}
onChange={this.handleInputChange}
onKeyUp={this.handleInputKeyUp}
/>
<ul>
{
// this.state.list.map((value, index) => {
// return (
// <li
// className="listItem"
// key={index}
// onClick={this.handleItemClick.bind(this, index)}
// >
// {value}
// </li>
// )
// })
this.getULItems
}
</ul>
</Fragment>
);
}
}

export default TodoList;

相关代码:

index.html

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import TodoList from './TodoList';

ReactDOM.render(
<React.StrictMode>
<TodoList />
</React.StrictMode>,
document.getElementById('root')
);


写回答

1回答

好帮手慕慕子

2021-07-25

同学你好,截图中的报错是因为getULItems方法没有添加括号,加上就好了,如下:

http://img.mukewang.com/climg/60fcc3130988734203190077.jpg

经过上述修改后,同学的代码效果实现是对的。

祝学习愉快~


0

0 学习 · 15276 问题

查看课程