전체 글 (596) 썸네일형 리스트형 전화번호 부 만들기 튜토리얼 2/4 (Section 7) 참고> velopert.com/3636 1. React 에서는 state 내부의 값을 직접적으로 수정하면 절대 안됨 => 불변성 유지 -> push, splice, unshift, pop 안됨 -> concat, slice, map, filter 사용 -> React의 re-rendering을 위한 조치 2. Component 내부에서 사용하는 값들 중, 렌더링과 관계 없는 변수들은 굳이 state에 넣어줄 필요가 없음. 그냥 Component 클래스의 내부 변수로 관리. 3. 컴포넌트를 여러개 렌더링하려면, 그냥 JavaScript 배열의 내장 함수인 map을 사용하면 된다. 4. Component가 자신의 부모로부터 props 받아서 어떤 처리를 한다고 가정해볼 때, 프로그래머가 실수로 props를 .. 트리 구조의 DataSource를 두 UI 컴포넌트에 연결할 때 회사 프로젝트를 수행하던 중 트리 구조의 자료 구조에서 depth 1의 노드들 따로, depth 2의 노드들 따로 두 개의 UI 컴포넌트에 각각 바인딩할 일이 있었다. 나는 별 고민없이 DropDownList 의 DataSource에 depth 1의 노드들을 바인딩하였고, GridView의 dataSource에는 depth 2의 노드들을 바인딩하였다. depth 1 의 노드들과 depth 2의 노드들은 모두 한 Instance 안에 존재하였다. 초반엔 문제가 없었는데, GridView의 DataSource만 따로 조작해야 할 상황이 생기자 문제가 발생하였다. 나는 GridView에서만 Refresh를 하고 싶었는데, depth 2의 노드들을 Refresh 하고 나니 DropDownList에 바인딩되었던 .. C# Winform DropDownList의 SelectedIndex 이벤트 관리 (Telerik 사용) C# Winform을 사용한 프로젝트에서 DropDownList의 SelectedIndex 이벤트를 상황에 맞게 조절해야 할 필요성이 있었다. 사용자가 DropDownList 에서 현재 선택된 아이템이 아닌 다른 아이템을 선택할 경우, 기존 데이터가 지워진다는 메시지 팝업을 띄워주어야 했다. 처음엔 기존에 사용하던 SelectedIndexChanged 이벤트 핸들러에서 이 메시지 팝업을 띄워주려 했다. 하지만 여기서 팝업을 띄우다보니, 사용자가 기존 데이터를 지우고 싶어하지 않는 경우에도 DropDownList의 Index가 바뀌어 버리는 것이었다. SelectedIndex 이벤트가 실행되는 걸 멈추기 위해 argument로 받은 이벤트 변수 e 의 e.Cancel을 true로 하고자 했으나 Cancel.. 전화번호 부 만들기 튜토리얼 1/4 (Section 6) 참고> velopert.com/3634 * 이 튜토리얼을 따라하려고 create-react-app 을 하니 React가 더이상 -g 로 create-react-app을 사용하는 방식을 지원하지 않는다는 말이 나왔다. 그래서 기존에 내 컴에 깔려있던 create-react-app을 npm uninstall create-react-app으로 지운 후, npx create-react-app phone-book 으로 React 앱을 생성하였다. 1. Computed property names: 어떤 객체의 property에 접근할 수 있게 해주는 문법, ECMAScript 2015부터 적용됨. ex) 이벤트를 받을 때 [e.target.name]: e.target.value 로 사용할 수 있음 2. 부모 컴포넌.. HeapAlloc, LocalAlloc, GlobalAlloc 차이 참고> https://skensita.tistory.com/entry/HeapAlloc-LocalAlloc-GlobalAlloc-%EA%B0%81%EA%B0%81-%EC%96%B4%EB%96%BB%EA%B2%8C-%EB%8B%A4%EB%A5%B8%EA%B0%80 1. Win16 운영체제에서는 프로그램마다 가지는 Local Heap과 Heap Manager가 가지는 Global Heap이 따로 존재했지만 Win32 운영체제에서는 따로 존재하지 않음. 즉, Win32 운영체제에서는 Local Heap과 Global Heap이 동일하고 이말인 즉슨 LocalAlloc과 GlobalAlloc이 동일함을 의미 2. LocalAlloc은 어플리케이션의 Default Heap에 메모리를 할당함. Default Hea.. LocalTime 과 UnixTimeStamp (UniversalTime) ToLocalTime() => 한국이면 Utc + 9가 적용됨 ToUniversalTime() => 어느 나라에 있든 UTC 기준시로 바뀜, ToLocalTime()의 반대 역할 LifeCycle API (Section 5) 참고> velopert.com/3631 1. LifeCycle API: 컴포넌트가 사용자의 브라우저에서 나타날 때, 사라질 때, 업데이트 될 때 호출되는 API -> 옴총 중요!! 2. componentWillMount : 컴포넌트가 새로 만들어질 때마다 호출됨 -> 이 API는 컴포넌트가 사용자의 화면에 나가기 직전에 호출됨 -> 이 API는 크게 신경쓰지 않아도 됨 -> 원래 서버측 JavaScript에서 썼었는데 React v16.3에서는 이 API가 deprecated됨 -> React v16.3 이후부터는 UNSAFE_componentWillMount() 라는 이름으로 사용됨 3. componentDidMount -> 컴포넌트가 사용자의 화면에 나타나게 됐을 때 호출됨 -> DOM을 사용해야 하.. props, state (Section 4) 참고> velopert.com/3629 1. 리액트 컴포넌트에서 다루는 데이터는 두 개로 나뉨: props, state 2. props: 부모 컴포넌트가 자식 컴포넌트에게 주는 값 -> 자식 컴포넌트는 props를 받아오기만 하고, 받아온 props를 직접 수정할 수는 없음 3. state: 컴포넌트 내부에서 선연하며 내부에서 값을 변경할 수 있음 4. 자신이 받아온 props 값은 "this." 키워드를 통해 조회 가능 5. props의 기본값을 설정할 때에는 컴포넌트의 defaultProps를 설정할 수 있음 6. 함수형 컴포넌트와 클래스형 컴포넌트의 주요 차이점은 state와 LifeCycle이 빠져있다는 점. -> 성능상 미세한 차이가 있으나, 무수히 많은 컴포넌트를 렌더링할게 아니라면 성능적으로.. 이전 1 ··· 49 50 51 52 53 54 55 ··· 75 다음