- vừa được xem lúc

Không cần học Javascript vẫn viết ReactJS được

0 0 10

Người đăng: Lâm Kim Phú

Theo Viblo Asia

Giới thiệu

Giờ ReactJS rất thịnh và mình thấy có những câu hỏi. Học gì để nắm được căn bản của ReactJS? Muốn học ReactJS thì cần biết gì? Câu trả lời mình thường thấy là muốn nắm được căn bản ReactJS thì phải học Javascript vì Javascript là gốc rễ của ReactJS. ReactJS được viết bằng Javascript nên nắm được Javascript thì đã hiểu được căn bản ReactJS rồi. Do đó, muốn viết tốt ReactJS, muốn viết được ReactJS, trước tiên, học Javascript. Thế là bắt đầu hì hục học Javascript, học những syntax căn bản, khai báo biến, vòng lặp, es6, spread, lamda, async, await, blah blah. Phew, cuối cùng bạn có kiến thức nhiều về Javascript, tự tin viết Javascript để thay đổi DOM, giải quyết những logic khó nhưng mà có tất cả nhưng vẫn không biết viết ReactJS. Lo gì, ReactJS base trên Javascript mà, biết Javascript thì ngại gì vết bẩn. Bạn bắt đầu học ReactJS, bài đầu tiên, tạo element với React.

import { createElement } from 'react'; function Greeting({ name }) { return createElement( 'h1', { className: 'greeting' }, 'Hi' );
}

Bài thứ hai, JSX

function Greeting({ name }) { return <h1 className='greeting'>Hi { name }</h1>;
}

Bài ba, hook

import { useState } from 'react'; function Counter() { const [counter, updateCounter] = useState(0); return ( <> <button onClick={() => updateCounter(counter + 1)}>Count</button> <p>{counter}</p> </> );
}

Tới đây mình tự hỏi, không cần Javascript thì có viết được mấy cái này không? Viết được React.createElement đâu cần Javascript, viết được JSX đâu cần biết Javascript và biết dùng useState cũng đâu cần Javascript. Chúng ta chỉ cần tuân thủ theo quy tắc của React là được. Vậy có cần học Javascript để viết được React không? Để viết được ReactJS, bạn cần học ReactJS, chấm hết.

Nhưng khi học ReactJS, vẫn cảm thấy thiếu thiếu, chắc là thiếu Javascript. Không phải, thứ bạn thiếu là kiến thức, kỹ năng lập trình và những kĩ năng xung quanh kĩ năng lập trình.

Kiến thức và kĩ năng lập trình

Để học nhanh và trơn tru một ngôn ngữ hoặc một library, framework mới mẻ nào đó, bạn cần phải vững kiến thức lập trình.

Những kiến thức bạn cần có là những cái căn bản nhất như khai báo biến, cấu trúc điều kiện, vòng lặp, hàm, con trỏ,.. Tiếp đến sẽ là OOP như class, interface, abstract, property, ...

Những khái niệm async, sync, pass by reference, pass by value,... Về kĩ năng thì cần biết về clean code, SOLID, DRY một ít design pattern, chia layer, chia component, dựng layout trang web,....

Kĩ năng khác

Kiên nhẫn

Mình để ở đầu vì đây là thứ có lẽ là quan trong nhất. Khi học một cái gì đó mới, chúng ta sẽ cảm thấy hơi khó tiếp cận vì flow với lifecycle của nó không hoạt động như chúng ta thường làm. Nhưng cần kiên nhẫn, viết nhiều, đọc nhiều sẽ quen, hiểu được, cảm nhận được lợi và hại của cách tiếp cận đó và dùng nó một cách phù hợp nhất có thể. Và cũng không thể tránh khỏi khi học có lỗi, có những bug kì lạ mà phải mất hàng tiếng đồng hồ để search, để tìm hiểu để hỏi. Vấn đề vẫn là bạn có đủ kiên nhẫn để fix nó hay không. Nếu không đủ kiên nhẫn, bạn sẽ nghĩ cái tool này nó bullshit và bỏ. Cứ như vậy, cuối cùng bạn không học được gì cả.

Tiếng Anh

Tiếng Anh là thứ rất là quan trọng vì Tiếng Anh giống như là một ngôn ngữ tiêu chuẩn. Một framework, ngôn ngữ hay library nổi tiếng nào đó đều có bản docs tiếng anh. Đó là lí do, cần tiếng anh để có thể đọc docs đồng thời cập nhật những thay đổi mới nhất về framework, library hay ngôn ngữ nào đó. Tiếng anh vẫn là một rào cản khá lớn với lập trình viên theo mình nhận thấy. Học tiếng anh cho công việc nên chú trọng vào thực hành là nhiều để có thể nghe nói cơ bản, nhắn tin discuss với khách cơ bản. Không cần học quá nhiều quá phức tạp mà không áp dụng vào được trong công việc.

Đọc document

Thường ngôn ngữ, library hay framework nào mới ra đều có document để hướng dẫn, giải thích về cách họat động cũng như là sử dụng nó. Đó là thứ rất quan trọng vì nó là official và bạn có thể học hỏi rất nhiều kiến thức cũng như là kinh nghiệm từ đó mà không cần bỏ tiền ra mua khoá học hay là phải cần có người chỉ. Lấy ví dụ như React Docs Beta, chỉ với Doc này thôi bạn đã có thể nắm được cách viết một ứng dụng đơn giản bằng ReactJS. Biết cách dùng JSX, hook, custom hook, viết được tic tac toe, biết chia component và layout,.... Khi đọc nhiều rồi, bạn sẽ có kinh nghiệm và sẽ có kĩ năng tìm kiếm nhanh, chính xác những cái mình cần ở ngay trong doc đó. Đọc doc cũng giúp bạn hiểu hơn về công nghệ đó.

Hỏi

Có những kiến thức mới, mình nghĩ quài không hiểu được. Tìm kiếm câu hỏi trong forum rồi trên mạng cũng không có. Lúc này, cách nhanh và tốt nhất đó là hỏi những người có kinh nghiệm hoặc là đã làm qua tech đó rồi. Hỏi cũng là một kĩ năng vì phải hỏi cho đúng trọng tâm, có thể dẫn chứng với người mình hỏi là mình đã tìm hiểu những gì. Đừng hỏi qua loa, hỏi không có đầu tư thì nhiều khi người được hỏi nghe cũng khó chịu hoặc là người ta cũng không hiểu rõ câu hỏi và cũng không viết phải trả lời cái gì

Không học Javascript thì không giải quyết được những vấn đề khó và nâng cao trong React

Điều này là đúng, vì ReactJS thực chất cũng chỉ là Javascript. Muốn thật hiểu ReactJS, muốn giải quyết những vấn đề logic khó khăn, đôi khi cần phải hiểu biết sâu về Javascript. Vậy thì học Javascript trước khi học ReactJS chứ hả. Theo mình vẫn là muốn học ReactJS thì học ReactJS thôi, chấm hết. Lí do tại sao. Một là khi mới học, bạn sẽ không gặp những vấn đề củ khoai như vậy để mà phải có hiểu biết sâu về Javascript mới giải quyết được. Thứ hai, để gặp được những vấn đề đó trong ReactJS, bạn phải biết viết ReactJS cái đã, không biết viết ReactJS thì lấy đâu ra vấn đề. Lúc đó, cần giải quyết vấn đề gì thì học đúng topic đó trong Javascript để giải quyết vấn đề đó vẫn chưa muộn. Tiếp cận theo cách này thậm chí sẽ giúp mình tiết kiệm thời gian hơn. Thay vì học Javascript xong học ReactJS thì mình học ReactJS, không hiểu gì, cần học gì trong Javascript thì học đúng topic đó là xong, không cần học tràn giang đại hải về Javascript. Tiết kiệm thời gian khá nhiều.

Kết luận

Hoàn toàn có thể viết ReactJS mà không cần học Javascript. Cứ học ReactJS, tạo sản phẩm gì đó, thực hành nhiều. Khi nào có vấn đề phát sinh cần đến Javascript thì lúc đó học vẫn chưa muộn. Đừng quá lo lắng về vấn đề làm sao giải quyết performance, làm sao giải quyết logic khó, làm sao tối ưu code trong ReactJS. Phải thực sự viết ra cái gì đó trong ReactJS đã rồi mới có vấn đề để mà giải quyết.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Giới thiệu Typescript - Sự khác nhau giữa Typescript và Javascript

Typescript là gì. TypeScript là một ngôn ngữ giúp cung cấp quy mô lớn hơn so với JavaScript.

0 0 525

- vừa được xem lúc

Bạn đã biết các tips này khi làm việc với chuỗi trong JavaScript chưa ?

Hi xin chào các bạn, tiếp tục chuỗi chủ đề về cái thằng JavaScript này, hôm nay mình sẽ giới thiệu cho các bạn một số thủ thuật hay ho khi làm việc với chuỗi trong JavaScript có thể bạn đã hoặc chưa từng dùng. Cụ thể như nào thì hãy cùng mình tìm hiểu trong bài viết này nhé (go).

0 0 433

- vừa được xem lúc

Một số phương thức với object trong Javascript

Trong Javascript có hỗ trợ các loại dữ liệu cơ bản là giống với hầu hết những ngôn ngữ lập trình khác. Bài viết này mình sẽ giới thiệu về Object và một số phương thức thường dùng với nó.

0 0 153

- vừa được xem lúc

Tìm hiểu về thư viện axios

Giới thiệu. Axios là gì? Axios là một thư viện HTTP Client dựa trên Promise.

0 0 145

- vừa được xem lúc

Imports và Exports trong JavaScript ES6

. Giới thiệu. ES6 cung cấp cho chúng ta import (nhập), export (xuất) các functions, biến từ module này sang module khác và sử dụng nó trong các file khác.

0 0 110

- vừa được xem lúc

Bài toán đọc số thành chữ (phần 2) - Hoàn chỉnh chương trình dưới 100 dòng code

Tiếp tục bài viết còn dang dở ở phần trước Phân tích bài toán đọc số thành chữ (phần 1) - Phân tích đề và những mảnh ghép đầu tiên. Bạn nào chưa đọc thì có thể xem ở link trên trước nhé.

0 0 245