Redux와의 반응이 모델링 UI 상태에서 우수하지만 가끔 이 발생하는 상황이 인 경우 UI는 개별적인 절차 방식으로 해당 이벤트를 처리해야하며 일시적인 이벤트를 생각하는 것이 적절하지 않은 경우가 있습니다 어떤 기간 동안 지속될 국가의 한 부분으로 JS 빈과 같은 코드 편집기 응용 프로그램에서React/Redux에서 일시적인 이벤트를 모델링하는 방법?
두 가지 예 :
- 는 사용자는 GitHub의의 요지에 자신의 코드를 보냅니다. 내보내기가 완료되면 요점을 표시하는 새 브라우저 창을 열려고합니다. 따라서 React 구성 요소 계층 구조는 요점의 ID를 알아야하지만 한 순간에만 창을 열어 요점 내보내기를 완전히 중단하지 않아야합니다.
- 사용자가 오류 메시지를 클릭하면 편집기에서 오류가 발생한 행을 편집기에서 집중하게합니다. 다시 한 번, UI는 어떤 시점에 집중해야하는지에 대해서만 신경을 쓴다. 즉, (비 반응 기반) 편집자에게 라인 집중에 중점을두고 모든 것을 잊어 버린다.
내가 함께 왔어요 적어도 만족스럽지 솔루션입니다 :
트리거 이벤트가 발생- 이 (초점 요지의 ID, 선) 필요한 정보로 돌아 오는 상태를 업데이트하는 작업을 파견
- 해당 정보에 관심이있는 React 구성 요소는 라이프 사이클 후크 (
componentWillReceiveProps
등)의 해당 소품을 모니터링합니다. 정보가 해당 소품에 나타나면 적절한 조치가 취해집니다 (요점 창을로드하고 편집기에서 줄을 모으는 중) - 그러면 구성 요소는 본질적으로 "이 문제를 처리했습니다"라는 Redux 저장소에 다른 이벤트를 전달합니다. . 일시적인 이벤트 데이터는 Redux 상태에서 제거됩니다.
이런 상황에 더 적합한 패턴이 있습니까? 아마도 그림의 한 부분은 액션에 대한 UI의 응답이 항상 새 요소 창 구조를 열어 새 창을 열고 편집기의 API에서 메서드를 호출한다는 것입니다.
당신의 방법은 대개 내가 어떻게하는지, 그리고 당신이 Redux를 사용할 때 이것이 "작동하는"방법이라고 믿습니다. "this with with this"플래그를 올리고 업데이트 훅에서 처리합니다. 나는이 질문을 흥미로운 대답을 위해 따라 할 것이다. –