라이브 업데이트를 위해 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
과없는 사람).