3 가지 방법이 있습니다. 가장 간단한은 내 구성 요소 인스턴스 참조 this.props.completed
에 renderList
을 결합하는 것입니다
renderList(completed, item) {
return(
<div>
shows up
</div>
)
}
render() {
const completed = this.props.completed;
const renderList = this.renderList;
return(
<div>
{this.props.items.map(function (item) {
return renderList(completed, item);
})}
</div>
);
}
이 세 번째 옵션은 다음과 같습니다
constructor (props) {
super(props);
// it's more efficient to bind your functions once in the constructor than
// doing so on every render
this.renderList = this.renderList.bind(this);
}
renderList(item) {
const completed = this.props.completed;
return(
<div>
shows up
</div>
)
}
render() {
return(
<div>
{this.props.items.map(this.renderList)}
</div>
);
}
또 다른 옵션은 함수에 속성을 전달하는 클로저를 사용하는 것입니다 속성을 map()
콜백에 바인딩합니다.
renderList(completed, item) {
return(
<div>
shows up
</div>
)
}
render() {
return(
<div>
{this.props.items.map(this.renderList.bind(this, this.props.completed))}
</div>
);
}
당신이하려는 일에 대해 더 많은 맥락을 제시 할 수 있습니까? 더 많은 코드를 추가 할 수 있습니까? –
@AhmedHawas 좀 더 많은 코드가 추가 되었으면 좋겠습니다. – lost9123193