{"action":"reopened","issue":{"url":"https://api.github.com/repos/ENvironmentSet/Functional-JavaScript-Todo/issues/1","repository_url":"https://api.github.com/repos/ENvironmentSet/Functional-JavaScript-Todo","labels_url":"https://api.github.com/repos/ENvironmentSet/Functional-JavaScript-Todo/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/ENvironmentSet/Functional-JavaScript-Todo/issues/1/comments","events_url":"https://api.github.com/repos/ENvironmentSet/Functional-JavaScript-Todo/issues/1/events","html_url":"https://github.com/ENvironmentSet/Functional-JavaScript-Todo/issues/1","id":349807258,"node_id":"MDU6SXNzdWUzNDk4MDcyNTg=","number":1,"title":"컴포넌트 라이브러리의 제작","user":{"login":"ENvironmentSet","id":28680594,"node_id":"MDQ6VXNlcjI4NjgwNTk0","avatar_url":"https://avatars2.githubusercontent.com/u/28680594?v=4","gravatar_id":"","url":"https://api.github.com/users/ENvironmentSet","html_url":"https://github.com/ENvironmentSet","followers_url":"https://api.github.com/users/ENvironmentSet/followers","following_url":"https://api.github.com/users/ENvironmentSet/following{/other_user}","gists_url":"https://api.github.com/users/ENvironmentSet/gists{/gist_id}","starred_url":"https://api.github.com/users/ENvironmentSet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ENvironmentSet/subscriptions","organizations_url":"https://api.github.com/users/ENvironmentSet/orgs","repos_url":"https://api.github.com/users/ENvironmentSet/repos","events_url":"https://api.github.com/users/ENvironmentSet/events{/privacy}","received_events_url":"https://api.github.com/users/ENvironmentSet/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-08-12T12:04:26Z","updated_at":"2018-08-16T00:09:49Z","closed_at":null,"author_association":"OWNER","body":"**Is your feature request related to a problem? Please describe.**\r\n\r\n1, 관심사의 분리\r\n컴포넌트를 이용하면 재사용 + 간결함 이라는 두 장점을 통해 뷰 레이어의 부담을 덜 수 있습니다.\r\n\r\n**Describe the solution you'd like**\r\n아래의 API를 가지는 컴포넌트를 개발하기를 원합니다.\r\n\r\nnameSpace: `components`\r\n\r\n`createElement( name: string, props: Object, ...childs: Element[] )`\r\n\r\n컴포넌트 레지스터에서 컴포넌트를 검색 후 존재하면 적용, 존재하지 않을 시 HTML의 엘리먼트로 취급 (props 는 attribute 로 취급).\r\n\r\n`Components( name: string, render: (props) => HTMLElement )`\r\n\r\nname 으로 컴포넌트 레지스터에 컴포넌트 등록, render 함수는 딱 한번, 컴포넌트가 사용될 때 호출.\r\n\r\n> 상태 관리는 따로 만드는 게 나을 거 같습니다. 애초에 **상태** 라는 개념은 객체지향 프로그래밍에서 연속된 연산을 표현하기 위해 채용한 개념인지라 함수형 프로그래밍을 다루기 위해서라면 가장 먼저 머리에서 제거해야하는.."}}
{"actor":{"display_login":"ENvironmentSet"}}