Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

DevCoach 175: React | Kenalan dengan React: UI ...

Nad
November 03, 2024
60

DevCoach 175: React | Kenalan dengan React: UI Web Masa Kini

Nad

November 03, 2024
Tweet

Transcript

  1. Topics • Pengenalan React • Alasan Perlu Memilih React •

    Konsep Composition • Declaration Code • Unidirectional Data Flow • React Adalah JavaScript React
  2. Sebutkan framework JavaScript yang kalian kenal dan disukai? React React?

    Angular? Vue.js? Svelte? Preact? Lit? HTMX? Alpine.js?
  3. Mengapa perlu library untuk membangun interface web? Kita ingin membuat

    aplikasi (web) yang interaktif, tetapi DOM manipulation ... Catatan: Penggunaan library tidaklah wajib. Tidak ada salahnya jika Anda nyaman dengan cara native. Imperatif Tidak ada panduan yang jelas Sulit dipahami React
  4. Analogi Data Composition Secara Umum Proses menggabungkan banyak fungsi untuk

    menciptakan data yang lebih kompleks. function getProfilePicture(userId) { return ( `https://avatars.githubusercontent.com/u/${userId}` ); } function getProfileLink(username) { return `https://github.com/${username}`; } function getGithubInfo(username, userId) { return { profilePicture: getProfilePicture(userId), profileLink: getProfileLink(username), }; } React
  5. React Composition React Proses menggabungkan banyak komponen untuk menciptakan UI

    yang lebih kompleks. function ProfilePicture ({ userId }) { return ( <img src={`https://avatars.githubusercontent.com/u/${userId}`} /> ); } function ProfileLink ({ username }) { return ( <a href={`https://github.com/${username} `} /> ); } function GithubInfo ({ username, userId }) { return ( <div className='github-info'> <ProfilePicture userId={userId} /> <ProfileLink username={username} /> </div> ); } React
  6. Imperative Code <script type="text/javascript"> const app = document.getElementById('app'); const header

    = document.createElement('h1'); const text = 'Develop. Preview. Ship.'; const headerContent = document.createTextNode(text); header.appendChild(headerContent); app.appendChild(header); </script> <html> <body> <div id="app"></div> </body> </html> React
  7. Declarative Code di React <script type="text/jsx"> const domNode = document.getElementById

    ('app'); const root = ReactDOM.createRoot(domNode); root.render(<h1>Develop. Preview. Ship.</ h1>); </script> <html> <body> <div id="app"></div> <script src="https://unpkg.com/react@18/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script> <!-- Babel Script --> <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script> </body> </html> React
  8. Declarative Code di React function Contacts() { const names =

    ['Alex', 'Bagus', 'Cika']; return ( <ol className='contacts'> {names.map((name) => <li>{name}</li>)} </ol> ); } function Contacts() { function callContact() { const names = ['Alex', 'Bagus', 'Cika']; console.log('Calling contacts...'); } return ( <button onClick={callContact}> Call Contact </button> ); } Membuat UI List di React Memberikan Event pada Elemen React
  9. React Hanyalah JavaScript <ul id="contacts"> <li v-for="contact in contacts"> {{contact}}

    </li> </ul> List di <ul> {contacts.map((contact) => { return <li>{contact}</li>; })} </ul> List di <div> <p *ngIf="lang === 'en'">Hello, World!</p> <p *ngIf="lang === 'id'">Halo, Dunia!</p> </div> Kondisional Rendering di function SayHello({ lang }) { if (lang === 'en') { return <p>Hello, World!</p>; } return <p>Halo, Dunia!</p>; } Kondisional Rendering di React
  10. Apa nama konsep React yang berfungsi dalam menyusun beberapa komponen

    menjadi UI yang satu-kesatuan? Quiz #2 DevCoach 175 Declarative Code Unidirectional Data Flow JavaScript ……………….. React