virtual-dom를 사용하여React와 같은 구성 요소를 실현하는 프로그램 라이브러리를 써 보았습니다
4922 단어 JavaScriptvirtual-dom
한편, virtual DOM 자체는 개념일 뿐이기 때문에 독립적으로 설치된virtual-dom 등 프로그램 라이브러리이전 기사도 있다.
그래서 가상 -dom를 기반으로 자체 제작된 React 같은 구성 요소 라이브러리도 재미있어서 시도해 봤습니다.
제작물의 개요
seanchas116/decompose
Widget
노드를 성공적으로 사용하면 실현할 수 있다현재는 커피스크립트 학급을 꾸준히 사용하고 있기 때문에 ES5 이전 JS에서 사용하기가 힘들 것으로 보인다.
예제 {Component} = require 'decompose'
class TodoView extends Component
render: ->
h 'li', [
h 'h2', @todo.title
]
class TodoListView extends Component
render: ->
h 'ul', @todos.map (todo) =>
TodoView.render todo: todo
todoListView = new TodoListView(todos: todoCollection.todos)
todoCollection.on 'update', ->
todoListView.update()
new Mount(todoListView).mount('#main')
TodoMVC
이 프로그램 라이브러리에도 고정된 Todo MVC 설치를 써 보았다.
seanchas116/decompose-todomvc
이루어지다
Component
구성 요소의 기본 클래스입니다.
Mount
실제 DOM에 마운트합니다.1 본 토스트에서 Componentupdate
로 1회 이상 토하는 이벤트로 이본 토스트가 완성되면 diff/patch를 진행한다.
ComponentNode
virtual-dom에 사용되는 diff/patch입니다.
성능
@dsuket선생님 https://github.com/dsuket/todomvc-perf-comparison포크 드릴게요)
손 옆 환경(OS X10.1+ 크롬39)이라면 왠지 토도 MVC에서 좋은 느낌의 퍼포먼스(맨 아래)(버그일 수도 있는데...)
기능을 추가하고 편리하게 사용하면 어떨지 아직은 알 수 없다.
총결산
{Component} = require 'decompose'
class TodoView extends Component
render: ->
h 'li', [
h 'h2', @todo.title
]
class TodoListView extends Component
render: ->
h 'ul', @todos.map (todo) =>
TodoView.render todo: todo
todoListView = new TodoListView(todos: todoCollection.todos)
todoCollection.on 'update', ->
todoListView.update()
new Mount(todoListView).mount('#main')
이 프로그램 라이브러리에도 고정된 Todo MVC 설치를 써 보았다.
seanchas116/decompose-todomvc
이루어지다
Component
구성 요소의 기본 클래스입니다.
Mount
실제 DOM에 마운트합니다.1 본 토스트에서 Componentupdate
로 1회 이상 토하는 이벤트로 이본 토스트가 완성되면 diff/patch를 진행한다.
ComponentNode
virtual-dom에 사용되는 diff/patch입니다.
성능
@dsuket선생님 https://github.com/dsuket/todomvc-perf-comparison포크 드릴게요)
손 옆 환경(OS X10.1+ 크롬39)이라면 왠지 토도 MVC에서 좋은 느낌의 퍼포먼스(맨 아래)(버그일 수도 있는데...)
기능을 추가하고 편리하게 사용하면 어떨지 아직은 알 수 없다.
총결산
@dsuket선생님 https://github.com/dsuket/todomvc-perf-comparison포크 드릴게요)
손 옆 환경(OS X10.1+ 크롬39)이라면 왠지 토도 MVC에서 좋은 느낌의 퍼포먼스(맨 아래)(버그일 수도 있는데...)
기능을 추가하고 편리하게 사용하면 어떨지 아직은 알 수 없다.
총결산
Reference
이 문제에 관하여(virtual-dom를 사용하여React와 같은 구성 요소를 실현하는 프로그램 라이브러리를 써 보았습니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/seanchas_t/items/f7aa5df930d34e8bc49d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)