Skip to main content

Tạo ứng dụng Todo List đơn giản bằng ReactJS

Xin chào cả nhà !

Đây là phần đầu tiên trong Tutorials lập trình ReactJS cơ bản của mình. Mọi người có thể tham khảo sơ qua cú pháp tại trang chủ của React để hiểu hơn. Reactjs.org

Đầu tiên mình sẽ thử tạo 1 ứng dụng todo list cực kì đơn giản mới chức năng như thêm công việc vào todo list, hiển thị dữ liệu ra.

1. Component with a state and render methods


Chúng ta có thể thấy state là một object gồm 2 giá trị là term items:

  + term là giá trị  lưu tạm khi chúng ta nhập dữ liệu vào input.
  + items chính là mảng để lưu trữ toàn bộ dữ liệu todo list.

2. Input with value and onChange method


   + onChange là một function giúp thay đổi giá trị chính là term. Khi chúng ta thay đổi giữ liệu là state thì ta cần gọi đến hàm this.setState để thay đổi giá trị. 

3. Form with onSubmit method


   + onSubmit là một function có 3 nhiệm vụ chính như sau:

   1. Làm sạch trường input khi chúng ta nhấn Submit bằng cách resetting term về giá trị rỗng như             ban đầu.
   2. Thêm giá trị term và mảng items chính là danh sách todo list của chúng ta.
   3. Hàm preventDefault() có nhiệm vụ là dừng hành động khi một element diễn ra.

4. Separate component to show our list


Chúng ta tạo ra một Component mới ví dụ như List.js

Nó có tác dụng là nhận giá trị props từ Component cha, ở đây chính là class App. Sau đó render ra các phần tử có trong đó.

Oki, chúng ta có thể nhìn qua toàn bộ các component như sau:




Vậy là đã xong 1 ví dụ rất đơn giản về ReactJS. Bạn có thể tham khảo rất nhiều các ví dụ khác trên mạng bằng từ khóa "Simple React to list" sẽ có rất nhiều cách viết khác nhau và chuyên nghiệp hơn.

Đây chỉ là một ví dụ điển hình cho cú pháp trong ReactJS và dử dụng state với props.

Cảm ơn tất cả mọi người !

Comments


  1. Nice breakdown. I use 👉👉👉 Crypto Market Monitor daily to track volume and price action.

    ReplyDelete

Post a Comment

Popular posts from this blog

Testing React Native Apps

What are we unit testing exactly ? We're using  "unit testing"  to refer to tests of functions and plain JavaScript objects, independent of the React Native framework. This means that we aren't testing any components that rely on React Native. For example, a unit could be individual methods and functions in classes or really any small pieces of functionality. We mock out dependencies in these tests so that we can test individual methods and functions in isolation. These test are written using testing frameworks and for this article i will be using  Jest , javascript testing framework together with  Enzyme  and  React Native Testing Library . Setting Install If you use  React Native CLI  installs the  Jest  testing framework by default. But if you're using Expo we need to install it manually. yarn add -D enzyme enzyme-adapter-react-16 More: yarn add react-dom react-native-testing-library Create new file  je...

Master Proptypes trong React

React là một thư viện JavaScript cho việc xây dựng giao diện người dùng (UI). React giúp quản lý dễ các trạng thái (state) của ứng dụng hơn và sẽ thay đổi UI khi mà state thay đổi. React dựa vào các component và mỗi component có state của nó. Nếu như là state của component dùng setState() và có thể thể props từ component cha. The Problem Từ khi Reatc là một thư viện JavaScript và JS không cung cấp bất cứ thứ gì về type-checking , bỏ qua việc đó khi sử dụng props component có thể khiến bạn gặp bugs trong ứng dụng. Solution Bạn có thể dùng Js extensions như TypeScript cho việc checking, nhưng nếu bạn không muốn sử dụng nó, React cung cấp đầy đủ cho tính năng type-checking verify props của các component chính xác type. Sử dụng PropTypes, bạn có thể chắc chắn các component nhận đúng type của props. Ví dụ, ta có Person component và nhận 2 props: `name` và `age`. Sử dụng PropTypes, ta có thể chắc chắn `name` luôn luôn là `string` và `age` luôn luôn là number. Installing Pr...

Best Python Cheatsheet

Python là một trong những ngôn ngữ lập trình tốt nhất để học. Khi bạn bắt đầu, bảng tham chiếu một trang về các biến, phương pháp, và các tùy chọn định dạng có thể có khá tiện dụng.  Mong bạn thấy bài viết hữu ích ! Chúc bạn thành công !