【发布时间】:2021-03-08 22:42:27
【问题描述】:
在下面的代码 sn-p 中,我必须将方法“handleChange”传递给另一个组件“TodoList”。我试过绑定方法,但没有解决问题。
import React from "react";
import TodoList from "./TodoItem";
import "./TodoStyles.css";
import {list} from "./TodoList"
class TodoApp extends React.Component {
constructor(){
super();
this.state = {
todos : list
}
this.handleChange = this.handleChange.bind(this);
}
handleChange(id){
console.log("Changed",id);
}
render(){
const todoArr = this.state.todos.map(
function(i){
return <TodoList key = {i.id} arr = {i} handleChange = {this.handleChange}/>
}
);
return(
<div className = 'todo-list'>
{todoArr}
</div>
)
}
}
export default TodoApp
但是使用箭头函数而不是常规函数,它解决了这个问题。
const todoArr = this.state.todos.map(
(i) => {
return <TodoList key = {i.id} arr = {i} handleChange = {this.handleChange}/>
}
);
我的问题是,我们可以使用常规函数将函数“handleChange”传递给其他组件吗?
我在 ES6 中工作并在过去 1 周内做出反应,我试图在网上搜索解决方案,但没有找到任何可以解决我的问题的方法。所以,请温柔一点。
【问题讨论】:
标签: javascript reactjs ecmascript-6