새로운 웹 컴포넌트 프레임워크를 사용하는 Todo 앱
10219 단어 webdevbeginnersjavascript
Stencil.js와 어떻게 다른가요?
다른 프레임워크와의 유사점
componentDidMount
및 componentDidUnmount
대신 componentDidConnect
및 componentDidDisconnect
를 사용하십시오. 독특한 기능
observedAttributes
목록에 넣기만 하면 됩니다. Todo 앱 데모
import { Component, h, text } from "https://unpkg.com/tatva@latest";
class TodoApp extends Component {
state = {
todo: '',
todos: []
}
setTodo(e) {
this.setState(state => ({
...state,
todo: e.target.value
}))
}
addTodo(id, todo) {
this.setState(state => ({
...state,
todos: [...this.state.todos, { id, todo }],
todo: ''
}))
}
removeTodo(todoId) {
this.setState(state => ({
...state,
todos: this.state.todos.filter(({ id }) => id !== todoId)
}));
}
handleFormSubmit(e) {
e.preventDefault();
this.addTodo(crypto.randomUUID(), this.state.todo);
}
render() {
return (
h('main', {},
h('form', { onsubmit: e => this.handleFormSubmit(e) },
h('input', {
oninput: e => this.setTodo(e),
placeholder: 'Enter Todo',
value: this.state.todo
})
),
!this.state.todos.length
? h('p', {}, text('No Todos.'))
: h('ul', {},
...this.state.todos.map(({ id, todo }) =>
h('li', { key: id },
text(todo),
h('button',
{ onclick: () => this.removeTodo(id) },
text('Remove')
)
)
)
)
)
)
}
}
customElements.define('todo-app', TodoApp);
Reference
이 문제에 관하여(새로운 웹 컴포넌트 프레임워크를 사용하는 Todo 앱), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/theharshsingh/todo-app-using-a-new-web-component-framework-4c3i텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)