저는 처음에 반응을 보였습니다. 그리고 이것은 매우 멍청한 질문이지만, 왜 작동하지 않는지 이해할 수 없습니다.이벤트를 하위 컴포넌트에 전달합니다.
간단한 할 일 목록을 작성하려고합니다.
import React, {Component} from 'react';
export default class TodoItem extends Component{
render(){
return (
<div>{this.props.title}
<button onClick={this.props.remove}>X</button>
</div>
)
}
}
그러나 나는 "정의되지 않은 재산 'handleRemove'읽을 수 없습니다"와 형식 오류를 얻을 :
import React, {Component} from 'react';
import TodoItem from './TodoItem';
export default class TodoList extends Component{
constructor(props){
super(props);
this.state = {
todos:[
{
title:"todo1"
},
{
title:"todo3"
},
{
title:"todo2"
}
]
}
}
handleRemove(idx){
alert('works');
}
render(){
var todos = this.state.todos.map(function(t,idx){
return(<TodoItem
remove={this.handleRemove.bind(this,idx)}
title={t.title}
/>)
})
return (
<div>
<h1>To do</h1>
<div>{todos}</div>
</div>
)
}
}
우리 아이 구성 요소는 다음과 같습니다
내 TodoList.js
구성 요소는 다음과 같습니다. 왜지도 내부에 {this}
정의되지 않은 궁금하네요?
나는 이것을 this.handleRemove = this.handleRemove.bind(this)
을 생성자에 넣으려고했다.
아무 것도 변경하지 않았습니다. 안에 this
도 정의하면 안됩니까?
ahhhhhhh, 감사합니다! 내가 어떻게 그렇게 눈이 멀었 을까? 감사 ! – Tom