라이브 업데이트를 위해 SocketIO의 도움으로 작은 ReactJS 대시 보드를 만들었습니다. 대시 보드를 업데이트하고 있지만 올바르게 수행했는지 확실하지 않다는 점이 귀찮습니다.
나를 가장 괴롭히는 것은 안티 패턴 게시물 로서 getInitialState 의 Props입니다 . 페이지를로드하는 것 외에 사용자 상호 작용이 필요하지 않은 서버에서 실시간 업데이트를 가져 오는 대시 보드를 만들었습니다. 내가 읽은 내용 this.state에서 컴포넌트를 다시 렌더링해야하는지 여부를 결정하는 내용이 포함되어야합니다 this.props. 그리고 .... 아직 모르겠습니다.
그러나 처음에를 호출 할 때는 React.render(<MyComponent />, ...)props 만 전달할 수 있습니다. 제 경우에는 서버에서 모든 데이터를 가져 오므로 초기 소품은 this.state어쨌든 끝납니다 . 따라서 내 모든 구성 요소는 다음과 같습니다.
getInitialState: function() {
return {
progress: this.props.progress,
latest_update: this.props.latest_update,
nearest_center: this.props.nearest_center
}
}
앞서 언급 한 블로그 게시물을 잘못 해석하지 않는 한 이는 반 패턴입니다. 그러나 나는 컴포넌트에 상태를 주입하는 다른 방법을 보지 못했으며, 모든 props에 레이블을 붙이지 않는 한 그것이 왜 안티 패턴인지 이해하지 못합니다 initial. 이런 건, 내가 느끼는 그건 이제 내가 전에했던 것보다 더 많은 변수 (앞에는 사람들을 추적하기 때문에 안티 패턴 initial과없는 사람).