리액트 할일 앱
15355 단어 react
React 기본 사이트 페이지는 Todo 앱의 구성 요소를 보여줍니다. 오늘 우리는 그 코드에 대해 논의합니다.
해야 할 일리스트
목록 코드는 시작하기에 좋은 위치입니다. 템플릿을 사용하여 GUI에 표시되는 각 라인 항목을 생성하는 코드입니다.
class TodoList extends React.Component {
render() {
return (
<ul>
{this.props.items.map(item => (
<li key={item.id}>{item.text}</li>
))}
</ul>
);
}
}
ReactDOM.render(
<TodoApp />,
document.getElementById('todos-example')
);
관심 있는 코드는 다음과 같습니다.
{
this.props.items
.map(item => (
<li key={item.id}>
{item.text}
</li>
))
}
부숴버리자...
Angular does templating a bit differently it uses html attributes for the iteration.
React, because it can; mixes JavaScript and HTML inside brackets {...}. Remember brackets indicate a code block.
<li key={item.id}>
{item.text}
</li>
let items = [];
items=[...items, {id:1, text:"abc"];
items=[...items,{id:2, text:"abcd"}]
//etc....
참조:
render() 이전의 TODO 앱
class TodoApp extends React.Component {
constructor(props) {
super(props);
this.state = {
items: [], text: ''
};
this.handleChange =
this.handleChange.bind(this);
this.handleSubmit =
this.handleSubmit.bind(this);
}
참조:
이 코드:
this.handleChange =
this.handleChange.bind(this);
참조:
TODO 앱 렌더 코드:
render() {
return (
<div>
<h3>TODO</h3>
<TodoList items=
{this.state.items}
/>
<form onSubmit=
{this.handleSubmit}>
<label htmlFor="new-todo">
What needs to be done?
</label>
<input
id="new-todo"
onChange=
{this.handleChange}
value=
{this.state.text}
/>
<button>
Add #
{this.state.items.length + 1}
</button>
</form>
</div>
);}
...
참조:
그리고 이벤트 핸들러:
handleChange(e) {
this.setState(
{text: e.target.value }
);
}
handleSubmit(e) {
e.preventDefault();
if
(this.state.text.length === 0) {
return;
}
const newItem = {
text: this.state.text,
id: Date.now()
};
this.setState(state => (
{items:
state.items.concat(newItem),
text: ''
})
...
참조:
요약:
JWP2021 React Todo 앱
Reference
이 문제에 관하여(리액트 할일 앱), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jwp/react-todo-app-4ljk텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)