Trở thành Frontend Developer

I am a developer, I write blogs occasionally. I hope you will find something new when reading my blogs.
Search for a command to run...

I am a developer, I write blogs occasionally. I hope you will find something new when reading my blogs.
No comments yet. Be the first to comment.
Có mấy người bạn của mình có hứng thú về tìm hiểu lập trình nên mình soạn 1 series để chia sẻ những kiến thức và kinh nghiệm của mình.
Bài viết này nhằm mục đích giới thiệu những người chưa biết về lập trình thử xem có hợp không, bằng cách giới thiệu các nguyên lí, khái niệm cơ bản và làm thử 1 ứng dụng. 1. Giới thiệu Lập trình chủ yếu là công việc viết Code và Code đó sẽ chạy để t...
Login xong rồi thì làm gì? Tất nhiên là các thao tác xử lý dữ liệu. thường viết tắt là CRUD (Create Read Update Delete). Chúng ta sẽ làm tất cả trên Wordpress, tiếp nối 2 bài viết về login trước. CRUD với việc Login bằng Ultimate User Chúng ta cần ti...

Ở bài trước chúng ta đã có thể login bằng cách cài thêm plugin cho Wordpress. Về bản chất, đó là việc dùng Wordpress làm server xử lý thông tin đăng nhập. Wordpress vừa hiển thị giao diện, vừa xử lý thông tin đằng sau. Ở bài này chúng ta sẽ học cách ...

Tiếp nối với bài về Header thì chúng ta sẽ bàn đến nút Login / Signup có trên Header. Thường thì các flow phổ biến sẽ là: click nút Login / Signup sẽ dẫn sang trang Login, ở đó sẽ có nút dẫn sang trang Signup nếu chưa có tài khoản, hoặc có design sẽ...
Từ bài này trở đi chúng ta sẽ bắt đầu thực hành các kiến thức về UI Builder, Web component và React để làm từng thành phần của web. Đầu tiên là Header, hay còn được gọi là Navigation bar, Navigation menu,.... Mục đích của phần giao diện này là giới t...

Fonts, Sizes và Colors Vì chúng ta sẽ làm việc trực tiếp trên Wordpress + Elemetor nên bước này cả 3 sẽ giống nhau: Vào Site settings và cài đặt Global Colors để dùng cho Elementor Tạo global style trong Custom CSS để dùng CSS variable cho Web Comp...

Nếu bạn gặp khó khăn với bài tập ở bài trước thì mình cũng chia sẻ là các bài sau độ khó và khối lượng bài tập sẽ tăng dần :)). Series này mang tính giới thiệu là chính và có nhiều vấn đề không đề cập + đề cập qua qua, nên mình sẽ lấy số lượng bài tập để bù vào, khuyến khích các bạn tự tìm hiểu thêm.
Bắt đầu bài viết này bằng việc đưa ra đáp án của bài trước, thì cấu trúc nó sẽ dạng dạng như thế này:
<Container>
<Item
logo={require('./cnn-logo-square.png')}
thumbnail={require('./1.png')}
name="CNN"
name2=" "
hashtag="#REPUBLICAN PARTY"
title="Here's how Republicans running on ballot security tried to rig the 2020 election"
publisher="⚡CNN"
time="Now"
/>
<Item
logo={require('./cbsnews-logo-black-512x512.png')}
thumbnail={require('./2.png')}
name="CBS News"
name2="flipped into Lastest Headlines"
hashtag="#MATT GAETZ"
title="Representative Matt Gaetz's ex-girlfriend granted immunity in sex trafficking probe"
publisher="⚡CBS News - By Michael Kaplan"
time="5 hours ago"
/>
<Item
logo={require('./abc-news-1.jpg')}
thumbnail={require('./3.png')}
name="ABC News"
name2="flipped into News"
hashtag="#MICHIGAN"
title="$20K reward offered for student who vanished at Michigan State University"
publisher="ABC News - Abigail Shalawylo"
time="3 hours ago"
/>
</Container>
<main-container>
<news-item
logo="https://i.imgur.com/I9kWuOh.png"
name="CNN"
name2=" "
thumbnail="https://i.imgur.com/z7zZAgh.png"
hashtag="#REPUBLICAN PARTY"
title="Here's how Republicans running on ballot security tried to rig the 2020 election" publisher="⚡CNN"
time="Now"
></news-item>
<news-item
logo="https://i.imgur.com/JnuGitv.png"
name="CBS News"
name2="flipped into Lastest Headlines"
thumbnail="https://i.imgur.com/FEjnKH2.png"
hashtag="#MATT GAETZ"
title="Representative Matt Gaetz's ex-girlfriend granted immunity in sex trafficking probe"
publisher="⚡CBS News - By Michael Kaplan"
time="5 hours ago"
></news-item>
<news-item
logo="https://i.imgur.com/iSBQpWO.jpg"
name="ABC News"
name2="flipped into News"
thumbnail="https://i.imgur.com/SYV78b9.png"
hashtag="#MICHIGAN"
title="$20K reward offered for student who vanished at Michigan State University"
publisher="ABC News - Abigail Shalawylo"
time="3 hours ago"
></news-item>
</main-container>
Đề bài có yêu cầu là Code thành 2 component, 1 container và 1 item, do đó, trong code của bạn chỉ được chứa 2 loại component. Làm như vậy để định hướng bạn phải tư duy theo hướng Component. Gợi ý của bài được cài cắm bằng việc cầm tay chỉ việc tạo component <Middle />, khi bạn có thể truyền children và height vào, thì bạn có thể truyền các loại thông tin khác vào tùy theo nhu cầu sử dụng.
1 số lưu ý mình sẽ đúc kết và nói thêm lại qua bài tập vừa rồi:
<Component attribute1="abc" attribute2="xyz" ...>Children</Component>Hãy chỉnh sửa code của bài tập trước để đạt được như sau

Có nghĩa là ở màn hình nhỏ hơn (VD như màn hình điện thoại), thì các Item sẽ được xếp thành cột, chứ không phải thành hàng nữa. Cái này gọi là Responsive, để tránh việc vỡ giao diện, hoặc giao diện trở nên khó dùng trên các kích thước màn hình khác nhau.
Để làm được bài này thì hãy làm các bài tập nhỏ sau đây

Đối với URP, thì media query không được hỗ trợ hoàn toàn, do vậy phải sử dụng 1 hướng khác. Hãy làm theo hình sau

Lưu ý: đoạn code bên trên return chính là Javascript, với công nghệ Component hầu như bạn sẽ viết code với Javascript. Nếu chưa quen thuộc với nó, thì hãy ôn lại và làm quen ngay
Tham khảo thêm bài viết này: https://www.w3schools.com/js/js_es6.asp
Thiết kế 1 component có cấu trúc dạng như sau:
URP
<Component
mobileStyle={{ backgroundColor: 'red' }}
desktopStyle={{ backgroundColor: 'yellow' }}
/>
HTML
<custom-component
mobile-style="background-color: red;"
desktop-style="background-color: yellow;"
>
</custom-component>
Và Component khi hiển thị sẽ đổi màu background tùy theo thiết bị hiển thị. Làm được Component này thì bạn sẽ có cơ sở để làm responsive theo hướng Component cho các phần phức tạp hơn sau này
(đang hoàn thiện...)