나는 해결책을 찾기 위해 this, this 및 this 링크를 거쳤지 만 그 중 어떤 것도 나를 위해 일하지 않습니다.React - 배열 유형 상태에 새 요소를 추가하는 방법?
배열 유형이 null 인 상태와 null 상태 인 decleared 상태가 있습니다.
this.state = { from: '', to: '',journeyDate: '',searchDetails: [] }
는 사용자로서 소스 도시, 목적지에 나는 아래와 같이 이러한 상태를 설정 여행 날짜 검색 양식을 채우십시오.
let from = this.state.from;
let to = this.state.to;
let journeyDate = moment(this.state.journeyDate).format('YYYY-MM-DD');
마지막 단계는 이러한 모든 변수를 searchDetails 배열 상태로 푸시하는 단계입니다. 그 때문에 나는 옵션 아래에서 시도했지만 아무도 일하지 않았다.
OPTION 1
this.setState({ searchDetails: [...this.state.searchDetails, from] });
OPTION 2
this.setState(prevState => ({
searchDetails: [...prevState.searchDetails, from]
}))
012 콘솔 로그가 비워질 때마다OPTION 3
let newState = this.state.searchDetails.slice();
newState.push(from);
this.setState({
searchDetails: newState
});
console.log('final state is : ' + this.state.searchDetails);
어떤 조언이 필요합니까?
같이 업데이트 될 때 호출되는
setState
의 콜백을 사용할 수 있습니까? 또한 확인했는지, 출발지, 여행지에 날짜가 있습니까?상태에서 값을 가져 와서 배열 (searchDetails)을 업데이트하는 것을 보았습니다. 그러나 값을 상태로 밀어 넣는 곳은 어디입니까? – Umesh@Umesh from, to 및 journeyDate 상태가 완벽하게 설정되어 있으며 콘솔도 가지고 있습니다. 그래서 문제는 없습니다. – Dhaval