我是一名ReactJS新手(更确切地说,我是一名编程新手),正在寻找一些答案,请不要因为显而易见的愚蠢而排除我:) 我在传递props和理解'this'上下文方面遇到了很大的困难。
这是我的混乱,两个简单的Todo应用程序组件。TodoApp:
这是我的混乱,两个简单的Todo应用程序组件。TodoApp:
import React from 'react';
import uuid from 'uuid';
import style from './App.css';
import Title from '../components/Title.js';
import TodoList from '../components/TodoList.js';
class App extends React.Component {
constructor(props) {
super(props);
this.title = "Todo Application"
this.state = {
data: [{
id: 1,
text: 'clean room'
}, {
id: 2,
text: 'wash the dishes'
}, {
id: 3,
text: 'feed my cat'
}]
};
}
removeTodo(id) {
const remainder = this.state.data.filter(item => item.id !== id);
this.setState({data: remainder});
}
render() {
return (
<div className={style.TodoApp}>
<Title title="Todo Application" added={this.state.data.length} />
<TodoList data={this.state.data} remove={this.removeTodo}></TodoList>
</div>
);
}
}
export default App;
还有待办事项清单:
import React from 'react';
const TodoList = props => (
<ul>
{props.data.map((item, index) =>
<li key={index}>
{item.text}
<button value={index} onClick={() => props.remove(index)}>x</button>
</li>
)}
</ul>
);
export default TodoList;
我想问的是如何正确地向子组件(TodoList)传递 props,以使删除按钮起作用?
(index)
而不是()
. 当你点击按钮时,你有收到任何错误吗? - IronWaffleMan