componentDidMount()
에 setSate
을 시도했지만 상태가 변경되지 않습니다.React componentDidMount의 네이티브 setState가 작동하지 않습니다.
constructor(props) {
super(props);
this.state = {
links: [],
personalInfo: {
name: "",
phone: "",
email: "",
address: {
city: "",
state: "",
country: "",
},
},
statement: "",
editMode: false,
superEditMode: false,
}
}
그리고 내 componentDidMount은 다음과 같습니다 : I는 다음과 상태를 선언
componentDidMount() {
if (this.props.data) {
this.props.data.personalInfo ? this.setState({personalInfo: this.props.data.personalInfo}) : null
this.props.data.address ? this.setState({address: this.props.data.address}) : null
//this.props.data.links ? this.setState({links: this.props.data.links}) : null
//console.log((this.props.data.links ? true : false));
this.setState({links: [
{
linkType: "Portfolio",
linkAddress: "www.johndoe.com",
},
{
linkType: "Github",
linkAddress: "https://github.com/johndoe",
},
{
linkType: "LinkedIn",
linkAddress: "https://linkedin.com/johndoe",
},
]});
console.log(this.state.links);
this.props.data.statement ? this.setState({statement: this.props.data.statement}) : null
}
예상대로 this.state.personalInfo
this.state.address
this.state.statement
이 props
에서 새로운 상태로 설정되고 있음을 매우 이상하지만, this.state.links
초기 상태로 남아 있습니다.
setState is async. 콘솔 로그에 정상적으로 표시되지 않는 경우 콜백을 사용하십시오. – bennygenel