관찰 가능 항목에 todos bund 목록이있는 경우 todos 중 하나를 변경하면 모든 항목이 다시 렌더링됩니까?ngrx/store에서 항목을 변경할 때 항목이 다시 렌더링됩니까
1
A
답변
0
각도 2와 ngrx/store로 작성된 todo 플 런커가 있습니다. 변경된 항목 만 렌더링되는 웹 브라우저 devtools에서 쉽게 볼 수 있습니다. 따라서 각도와 반응은 동일합니다. 각도 V2에서
"plnkr.co/edit/Hb4pJP3jGtOp6b7JubzS?p=preview"
1
우리는 구성 요소 상태 보존 형 (스마트)와 Statless의 2 개 종류가있다. 수단 (벙어리)
상태 : 일이 어떻게 진행되는지에 관심이 있습니다.
Stateless : 사물의 모양과 관련이 있습니다.
ChangeDetectionStrategy :
당신이 당신의 구성 요소에 어떤 전략을 정의하지 않습니다의 ChangeDetection이는 항상 "다시 실행"이 구성 요소. 전략 OnPush의 경우 입력 내용이 변경되면 업데이트 만되지만이 경우에는 문자열, 객체가 아닌 수 또는 배열과 같은 Immutables에서만 작동합니다.
그래서 ngrx/저장 및 ES6 당신은 불변의 배열 (안 유일한 방법)
case ADD_TODO:
return [...state, action.payload];
case UPDATE_TODO:
return state.map(todo => todo.id === action.payload.id ? action.payload : todo);
등을 만들 수 있습니다 그럼 당신은 구성 요소, 수행 할 작업 및 할 일을 만듭니다이 구성 요소
<todos [todos]="todosNgRx$ | async"></todos>
것 todos 목록을 가져 와서 두 번째 구성 요소 인 Todo를 다시 렌더링하십시오.
<todo *ngFor="let todo of todos" [todo] = "todo"></todo>
이 구성 요소는 벙어리이며 데이터 만 표시합니다.
ChangeDetectionStrategy.OnPush를 제공하여 할 일이 업데이트 될 때 업데이트 만 허용해야합니다. 그리고 새로운 todo를 추가하면 ngFor는 새로운 구성 요소 Todo를 표시하고 목록의 나머지 부분은 업데이트되지 않습니다.
는 코드없이
관련 문제
- 1. WinRT - 항목이 렌더링됩니까?
- 2. JQuery로 서식을 변경할 때 필드에 항목을 저장해야합니다.
- 3. UpdatePanels - 외부 컨트롤이 다시 렌더링됩니까?
- 4. 감속기에서 상태를 업데이트하면 구성 요소가 다시 렌더링됩니까?
- 5. 오리엔테이션을 변경할 때 Android 항목이 ActionBar에서 옵션 메뉴로 이동합니다.
- 6. 링크를 클릭하면 항상 전체 페이지가 다시 렌더링됩니까?
- 7. Android에서 HTML을 여러 개 선택하면 이상한 항목이 렌더링됩니까?
- 8. 항목이 다른 항목을 클릭 할 때 recyclerview의 항목을 변경하십시오.
- 9. 다른 클래스의 edittext에 문자열 배열 항목을 할당하면 사용자 모드 사용자가 edittext를 변경할 때 항목이 변경됩니다.
- 10. ExprTk : 값을 변경할 때 표현식을 다시 컴파일해야합니까?
- 11. 텍스처의 크기를 변경할 때 UV를 다시 매핑해야합니까?
- 12. Stemmer를 변경할 때 Elasticsearch에서 문서를 다시 색인해야합니까?
- 13. 경로를 변경할 때 템플리트 다시 렌더링
- 14. WSDL이 targetnamespace를 변경할 때 클라이언트를 다시 생성해야합니까?
- 15. 활동을 다시 시작하거나 다시 열 때 ListView 항목이 반복됩니다.
- 16. 항목을 클릭하면 항목이 다시 렌더링되고 원하지 않는 위로 스크롤됩니다.
- 17. 표시 할 메뉴를 변경할 때 li 항목이 서로 중첩됩니다. inline
- 18. 목록에 항목을 삽입하면 항목이 삭제됩니다.
- 19. Gridview 항목이 다시 버튼을 눌렀을 때 업데이트되지 않았습니다.
- 20. 내 메뉴 항목을 입력 할 때 메뉴 항목이 한 번 안에 다시 실행되는 것을 방지합니다.
- 21. Spinner가 처음으로 항목을 표시 할 때 로그 아웃 한 후 다시 로그인하면 선택한 항목이 표시되지 않습니다.
- 22. 내가 목록에서 항목을 선택할 때 다시 나타납니다
- 23. UITableView didSelectRowAtIndexPath 오류 - 항목을 다시 선택할 때
- 24. RadComboBox에서 선택한 항목을 다시 게시 할 때
- 25. 클로저 스크립트 원자로 변경하면 시약 구성 요소가 다시 렌더링됩니까?
- 26. 문서의 항목이 저장시 다시 정렬됩니다.
- 27. Orchard에서 단일 콘텐츠 항목을 가져올 때 여러 항목이 만들어졌습니다. 1.10.1
- 28. 활동을 변경할 때 setBackgroundResource
- 29. 하나의 항목이 만들어 질 때 다른 테이블에 항목을 만듭니다.
- 30. SPServices를 사용하여 Sharepoint 목록에서 항목을 가져올 때 항목이 정의되지 않았습니다.
는 당신이 데모와 Plunkr을 게시 할 수있는 경우, – Maxime
더 나은 ... 당신을 도울 어려울 것 나는 확실히 당신에게 :) – Maxime
을 경우 할 수 있습니다 도움이되기를 바랍니다 나는 그 코드를 가지고 자기 자신을 볼 수 있었다. (- : 나는 반응이 새로운/변경된 아이템을 그릴 뿐이라는 것을 알고있다. 그러나 Angular는 똑같이 할 수 있는가?) –