구성 요소가 마운트 될 때 ComponentDidMount()가 트리거됩니다 (서버 쪽 렌더링 후 수화 될 때 포함).서버 측에서 이미 사용할 수있는 경우 componentDidMount가 데이터를 가져 오지 못하도록합니다.
온라인에서 찾은 해결책 중 하나는 상태에 데이터가 있는지 여부를 확인하는 것입니다. 그러나 이것은 모든 구성 요소에 많은 코드를 포함해야합니다. 다른 솔루션은 무엇입니까?
componentDidMount() {
// if rendered initially, we already have data from the server
// but when navigated to in the client, we need to fetch
if (!this.state.data) {
this.constructor.fetchData(this.props.match).then(data => {
this.setState({ data })
})
}
}
나는 다른 해결책이 있다고 생각하지 않습니다. 다른 방법으로는 redux-saga와 그 셀렉터를 확인할 수 있습니다 –