이것은 클래스의 미완성 버전이지만 Typehead 클래스의 완성 된 버전은 입력과 일치하는 소품 (기본적으로 자동 완성 기능)에서 선택 목록을 인쇄하도록되어 있습니다. 내가 가지고있는 문제는 handleChange 메서드를 호출 할 때 "정의되지 않은 'setState'속성을 읽을 수 없습니다"라는 오류가 발생한다는 것입니다. 다음은 코드입니다.
import React from 'react'
export default class Typehead extends React.Component {
constructor() {
super()
this.state = {}
}
handleChange(e) {
this.setState(previousState => {
previousState = e.target.value
return {previousState}
})
console.log(this.state)
}
render() {
return (
<form>
<div className="input-group">
<label>
Choose a Track:
<input onChange={this.handleChange} type="text"
className="form-control" placeholder="Song Name"/>
</label>
</div>
</form>
)
}
}
handleChange에서 'this'가 정의되지 않은 이유에 대한 설명은 크게 감사하겠습니다!
구성 요소를 handleChange에 바인딩해야합니다. 이 시도:
constructor() {
super()
this.state = {}
this.handleChange = this.handleChange.bind(this);
}
사용하지 않으면 handleChange는 '입력'을 'this'로 인식하지만 구성 요소는 인식하지 못합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다