12/08/2018, 17:56

Học Redux bằng hướng dẫn dễ dàng nhất thế giới - Phần 1

Đây là bài dịch, bài gốc mời các bạn xem ở đây : https://medium.freecodecamp.org/understanding-redux-the-worlds-easiest-guide-to-beginning-redux-c695f45546f6 Vì bài gốc khá dài nên mình sẽ chia thành nhiều phần, đây là phần đầu tiên Đây là một hướng dẫn toàn diện (nhưng đã được đơn giản ...

Đây là bài dịch, bài gốc mời các bạn xem ở đây : https://medium.freecodecamp.org/understanding-redux-the-worlds-easiest-guide-to-beginning-redux-c695f45546f6

Vì bài gốc khá dài nên mình sẽ chia thành nhiều phần, đây là phần đầu tiên

Đây là một hướng dẫn toàn diện (nhưng đã được đơn giản hoá) dành cho người gần như mới hoàn toàn về Redux, hoặc cho bất kỳ ai muốn đánh giá và kiểm tra lại kiến thức của bản thân về những định nghĩa và tư tưởng cơ bản của Redux.

Các bạn có thể tham khảo mục lục nội dung chi tiết hơn ở đây

Giới thiệu

Bài viết này (mà thật ra là một quyển sách) là mảnh ghép còn thiếu nếu như bạn đang trên con đường để làm chủ Redux.

Trước khi bắt đầu, tôi muốn nói với các bạn rằng quyển sách này hầu hết là về tôi. Vâng chính tôi, chính là những rắc rối mà tôi gặp phải khi học Redux, và quá trình tìm kiếm một giải pháp tốt hơn để có thể dạy lại nó cho người khác.

Tôi bắt đầu học React từ một vài năm trước. Tôi đã rất hào hứng với nó, nhưng dường như mọi người khác lại đang nói về một thứ gì đó có tên là Redux

Chúa ơi! Cái quá trình học hỏi liên hoàn này có kết thúc không vậy?

Là một Kỹ sư phần mềm có cam kết về việc tự phát triển bản thân, tôi muốn có thêm tri thức và không muốn mình bị tụt hậu. Vì thế tôi đã bắt đầu học Redux.

Tôi đã xem tài liệu về Redux. Tài liệu khá là tốt, thực sự là như vậy! Tuy nhiên vì một vài lý do, tôi cảm thấy nó không phù hợp với mình cho lắm. Tôi đã xem một loạt các Video trên Youtube, nhưng những thứ mà tôi tìm được thì có vẻ đã lỗi thời và không chi tiết cho lắm. Tôi khổ lắm.

Thành thật mà nói, tôi không nghĩ rằng những video hướng dẫn mà tôi đã xem là tệ. Nó chỉ đơn giản là thiếu một cái gì đó. Tôi chỉ cần một hướng dẫn dễ dàng để có thể suy nghĩ một cách thấu đáo, và dành cho người ôn hoà, chứ không phải cho một vài nhân loại có trí tưởng tượng phong phú.

Và tôi nghĩ rằng mình không đơn độc.

Một người bạn tốt của tôi, là người mà tôi đã hướng dẫn trong một đoạn thời gian, vừa mới hoàn thành một khoá học để giàng được một chứng chỉ lập trình React với một cái giá khá cao (khoảng 300$$ .

Khi tôi hỏi anh ta về cảm nhận thực tế với chương trình, thì ý kiến của anh ta như sau:

Khoá học về cơ bản là tốt, nhưng tôi không nghĩ phần Redux đã được giải thích tốt cho những người bắt đầu như tôi. Nó cũng không được mô tả tốt cho lắm.

Bạn thấy đấy, có rất nhiều người giống như bạn của tôi, đang gặp vấn đề để hiểu về Redux. Họ thể sử dụng được Redux, nhưng không thể tự tin nói rằng mình thực sự hiểu cách hoạt động của nó.

Tôi quyết định phải tìm ra một giải pháp cho vấn đề này, bằng cách tìm hiểu một cách sâu sắc về Redux và tìm ra một con đường rõ ràng hơn cho việc dạy nó cho người khác.

Kết quả là những điều mà các bạn sắp đọc ngay sau đây đã tốn của tôi hàng tháng trời học hỏi, làm một vài ví dụ mẫu, trong khi vẫn đang đi làm hàng cùng với những cam kết nghiêm túc khác.

Nhưng bạn biết gì không?

Tôi cực kì háo hức khi chia sẻ những điều này với bạn!

Nếu bạn đang tìm kiếm một hướng dẫn về Redux phù hợp với bản thân, thì đây chính là cái bạn đang cần.

Tôi đã đưa vào đây những suy nghĩ và lý giải về những vấn đề mà mình gặp phải khi học Redux kèm theo nhiều thứ khác nữa. Tôi sẽ đảm bảo rằng sẽ dạy cho bạn phần quan trọng nhất mà không khiến bạn phải băn khoăn hay bối rối. Nó là một lời hứa đấy.

Cách tiếp cận của tôi để dạy Redux

Vấn đề thực tế khi cần giảng giải về Redux - đặc biệt là với những người mới - không phải là sự phức tạp của chính thư viện đó.

Tôi không nghĩ là nó phức tạp. Nó chỉ đơn giản là một thư viện với độ lớn vỏn vẹn 2kb - mà đấy là đã bao gồm cả các thư viện phụ thuộc rồi đấy.

Nhưng khi nhìn vào cộng đồng Redux với tư cách là một người mới bắt đầu, bạn sẽ chóng mặt rất nhanh đấy. Vì nó không chỉ nói về Redux, mà còn là hằng ha sa số các thư viện tích hợp hỗ trợ cho việc xây dựng những ứng dụng thực tế.

Nếu bạn dành ra chút thời gian để tìm hiểu, thì hẳn bạn đã từng lướt qua một số thư viện rồi. Có thể kể đến như là Redux, React-Redux, Redux-thunk, Redux-saga, Redux-promise, Reselect, Recompose và rất nhiều thứ khác nữa!

Và nếu như thế vẫn chưa đủ, sẽ còn một vài thư viện khác như là Routing, Authentication, Server side rendering, Testing, Bunding rải rác khắp nơi.

Chúa ơi điều này thực sự trở nên quá tả mất rồi.

Các hướng dẫn về Redux thông thường nói chả bao nhiêu về Redux, nhưng lại nói rất nhiều về những thứ khác đi kèm theo nó.

Đáng lẽ nên có một cách tiếp cận ôn hoà và hướng dến người mới bắt đầu nhiều hơn. Nếu bạn là một rô-bốt lập trình viên , thì có thể bạn sẽ không gặp vấn đề gì cả. Nhưng tất cả lập trình viên chúng ta đều là con người, phải không.

Và đây là cách mà tôi đã tiếp cận để dạy Redux

Hãy tạm quên hết tất cả các thứ bổ sung cho Redux đi, và chúng ta chỉ làm Redux thôi. Y eah!

Tôi sẽ chỉ giới thiệu những điều căn bản nhất bạn cần biết. Trong này sẽ không có React-router, Redux-form, Reselect, Ajax, Webpack, Authentication, Testing, ... Tất cả!

Và đoán xem? Đó cũng là cách mà bạn đã dùng để học được những skill quan trọng trong cuộc đời.

Làm thế nào mà bạn học đi?

Bạn có bắt đầu chạy trong một ngày không? Không!

Hãy để tôi dẫn dắt bạn qua một cách hết sức ôn hoà để học Redux mà không có bất kì sự phiền nhiễu nào.

Hãy ngồi cho chắc.

"Một con sóng sẽ nâng tất cả các con thuyền"

Một khi bạn đã quen với các khái niệm và cách mà Redux hoạt động (con sóng), thì mọi thứ khác sẽ dễ dàng hơn để suy luận (nâng tất cả con thuyền)

Một chú thích về đường cong học tập của Redux

Một tweet từ Eric Elliot về đường cong học tập của React.

Redux cũng có một đường cong học tập, và tôi đồng ý với nó.

Học để bước đi cũng có một đường cong học tập. Tuy nhiên với cách tiếp cận có hệ thống để học tập thì bạn có thể làm chủ nó.

Bạn có thể thất bại một vài lần, nhưng điều đó hoàn toàn ổn. Một vài người sẽ luôn ở xung quanh để nâng bạn lên và đặt bạn đứng lên.

Và tôi hy vọng rằng mình sẽ là người đó khi bạn học Redux với tôi.

Những điều bạn sẽ học

Sau tất cả những gì tôi nói ở trên, bạn sẽ dần cảm nhận được rằng Redux không hề đáng sợ như vẻ ngoài của nó.

Những nguyên tắc của Redux cực kỳ dễ hiểu!

Đầu tiên, tôi sẽ dạy bạn những điều căn bản nhất của Redux bằng ngôn ngữ giao tiếp cơ bản và dễ tiếp cận.

Sau đó, chúng ta sẽ cùng xây dựng một vài ứng dụng đơn giản. Bắt đầu bằng Hello World như bao ngôn ngữ khác             </div>
            
            <div class=

0